如何在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 = "ребенок"
}
```
这