为了账号安全,请及时绑定邮箱和手机立即绑定

为什么允许“const true = false”?

为什么允许“const true = false”?

Go
绝地无双 2021-12-27 15:43:10
您使用的是什么版本的 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


查看完整回答
反对 回复 2021-12-27
  • 1 回答
  • 0 关注
  • 119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号