您使用的是什么版本的 Go(go 版本)? https://play.golang.org你做了什么?运行一个小程序:package mainimport "fmt"const true = falsefunc main() { if (true == false) { fmt.Println("True equals to false") } fmt.Println("Hello World")}https://play.golang.org/p/KwePsmQ_q9你期待看到什么?我正在使用已定义的名称创建常量的错误或警告消息,并可能破坏整个应用程序。你看到了什么?运行没有问题。没有警告或任何阻止使用已定义名称创建新常量的内容。
1 回答

缥缈止盈
TA贡献2041条经验 获得超4个赞
true并且false不是保留关键字。这些是预先声明的标识符。
const (
true = 0 == 0 // Untyped bool.
false = 0 != 0 // Untyped bool.
)
这意味着true和false是简单的两个无类型布尔值。这就是在您的示例true中等于false.
https://golang.org/pkg/builtin/#pkg-constants
- 1 回答
- 0 关注
- 119 浏览
添加回答
举报
0/150
提交
取消