微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

golang学习笔记――变量

变量:

golang中不存在没有初始化的变量数据,整形认为0,字符型认为空,指针认为nil,结构体中的数据也会被初始化。

//varstrstring="dfdfdf"
//varvaruint8uint8//varuint8=0声明一个变量,认为0
//varstrstring//str="",认为空
//fmt.Println(varuint8)
//str="dfd"
str:="dsa"//str为一个字符串,声明赋值同时完成
uintvar:=123456//uintvar一个整形变量
_,b:=34,35//“_”为特殊变量,任何赋给“_”的值将会被丢弃

fmt.Println(b)//输出35
fmt.Println(uintvar)//输出123456
fmt.Println(str)//输出dsa

KeyPoint:
①、修改代码后需重新build后运行才能看到修改后的效果,直接运行不会看到修改后的效果,看到的是上一次的结果。。。
②、若声明了变量但未使用该变量会报错,程序不会执行该变量之后的代码
③、全局变量不能使用“:=”的形式,声明并赋值

1、整形变量
整形类型根据电脑的硬件决定适当的长度。意味着在32位硬件上,是32位的;在64位硬件上是64位的。注意:int是32或64位之一,不会定义成其他值。uint情况相同。
如果你希望明确其长度,你可以使用int32或者uint32。完整的整数类型列表(符号和无符号)是int8,int16,int32,int64和byte,uint8,uint16,uint32,uint64。byte是uint8的别名。浮点类型的值有float32和float64(没有float类型)。64位的整数和浮点数总是64位的,即便是在32位的架构上。

KeyPoint:不能给某一类型的整形变量赋值其他整形类型
Ex:

varvaruint8uint8
varvarintint

varint = varuint8 + varuint8 //illegal

varint = varuint8 + 5 //illegal

varuint8 = varuint8 + 5 //This is ok


2、常量

①、使用const关键字

②、不用指明是哪种类型

③、可使用iota创建枚举

Ex:

constsd=5//整形常量
constsdstr="df"//字符串常量
const(
cnum1=iota//cnum1=0
cnum2//cnum2=1
)
const(
cnum3="djjf"//cnum3=cnum4=cnum5="djjf"
cnum4
cnum5
)
const(
cnumint1=1//cnumint1=cnumint2=cnumint3=1
cnumint2
cnumint3
)
const(
cnumstr1=1//cnumstr1=1
cnumstr2="dfd"//cnumstr2="dfd"
cnumstr3="djfj"//cnumstr3="djfj"
)

原文地址:https://www.jb51.cc/go/190818.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐