代码如下
package main
import "fmt"
var c, python, java bool
func main() {
var i int
fmt.Println(i, c, python, java)
}
运行结果
0 false false false
定义i的变量类型为int,但是并没有赋值,打印为什么是0
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Go语言中,当声明一个变量但没有明确赋予初始值时,该变量会自动获得其类型的零值。对于基本数据类型而言:
在你的代码中: - var i int
声明了一个整型变量 i
,由于没有赋值,它默认被初始化为 int 类型的零值,即 0。 - var c, python, java bool
声明了三个布尔型变量 c
, python
, java
,同样因为没有赋值,它们都被初始化为 bool 类型的零值,即 false。
因此,当你打印这些变量时,输出结果是 0 false false false
,这完全符合Go语言对未初始化基本类型变量的处理规则。