Avatar ·

如何在Go中编写单行if-else?三元运算符

大家好!我刚开始在JavaScript和Python之后学习Go,遇到了一个问题。在那些语言中,我习惯写一行简短的条件表达式,例如: 在JavaScript中:`const status = age >= 18 ? "взрослый" : "ребенок";` 在Python中:`status = "взрослый" if age >= 18 else "ребенок"` 这对于简单的赋值非常方便。但在Go中,我找不到类似的写法。我尝试写类似这样的代码: ```go status := age >= 18 ? "взрослый" : "ребенок" ``` 但编译器报错。我试过不同的变体,但都不起作用。难道Go根本没有三元运算符吗?那如何编写一行简单的条件语句?我不得不为基本的事情编写整个if-else块,代码变得非常冗长。 例如,我想根据条件给变量赋值,但不想让代码膨胀。在Go中,它看起来像这样: ```go var status string if age >= 18 { status = "взрослый" } else { status = "ребенок" } ``` 这