单个变量的赋值与声明安全
变量的声明格式:var <变量名称> <变量类型>bash
变量的赋值格式:<变量名称> = <表达式>ide
声明的同时赋值:var <变量名称> [变量类型] = <表达式>函数
<变量名> := <变量值> --->只能在函数体内使用spa
多个变量的复制与声明orm
全局变量的声明可使用var()的方式简写blog
全局变量的声明不能够省略var,但可以使用并行的方式字符串
全部变量均可以使用类型推断get
并行方式的声明:string
var a,b,c,d int=1,2,3,4
函数体内:
a,b,c,d :=1,2,3,4
空白符
_ 使用空白符,来对某个返回值,进行忽略
变量的类型转换
Go中不存在隐式转换,全部类型转换必须显式声明 -->保证了go是一个类型安全的语言
转换只能发生在两种相互兼容的类型之间
格式为: <变量A> [:] type变量A (变量B)
var a float32 = 1.1 b := int(a) 因为浮点型到整型的转换只是一个精度的丢失,这种是能够进行转换的 var a bool = true b := int(a) 该表达式没法经过编译,由于类型不兼容,因此不能进行相互转换
注意:在对int型转换为string型时,string(),表示把变量a转换为string格式,由于计算机中存储的任何东西本质上都是由0和1表示的数字,所以此函数天然的认为咱们须要的是用数字65表示的文本(A)。
因此若是咱们要把65转换为 字符串“65”的话,就须要使用strconv这个包了。(strconv.Itoa)
而若是把字符串转换为int,那么就须要用(strconv.Atoi)
注意:这里只能转换字符串型数字,相似“1”,“123”等。
常量的定义
- 常亮的值在编译时就已经肯定
- 常量的定义格式与变量基本相同
- 等号右则必须是常量或者常量表达式
- 常量表达式的函数必须是内置函数
初始化规则与枚举
- 在定义常量组时,若是不提供初始值,则表示使用上一行的表达式(注意,若是上一行定义了两个常量,那么下一行也要定义两个常量才能够)
- 使用相同的表达式不表明具备相同的值
- iota是常量的计数器,从0开始,组中每定义1个常量自动递增1
- 经过初始化规则与iota能够达到枚举效果
- 每遇到一个const关键字,iota就会重置为0
因为以前已经定义了两个常量(0,1)因此定义的c若是iota的话就是2了,直到遇到下一个const,才会被重置为0
常量命名建议:建议都使用大写。若是不想让外部引用能够在前面添加c(const)或者_来区分