如何将bool转换成int?

时间:2015-07-18 07:42:57

标签: go

我习惯使用C / Java,我可以使用?:在:

func g(arg bool) int {
  return mybool ? 3 : 45;
}

Go does not have a ternary operator以来, 我该怎么做呢?

1 个答案:

答案 0 :(得分:11)

您可以使用以下内容:

func g(mybool bool) int {
    if mybool {
        return 3
    } else {
        return 45
    }
}

我为你生成playground进行测试。

正如Atomic_alarm和FAQ指出的那样“Go中没有三元形式。”

作为对“如何将bool转换为int”的问题的更一般的答案,程序员通常期望true为1而false为0,但是在bool和int之间没有直接转换int(true)int(false)将起作用。

在这种情况下,您可以像在VP8中一样创建简单函数:

func btou(b bool) uint8 {
        if b {
                return 1
        }
        return 0
}