一、常量
1.1 定义
常量使用关键字const 定义,用于存储不会变化的数据
定义方法 const identifier [type] = value
package main// 常量定义const P float64 = 3.14159// 简短而优雅的写法const( CODE_STATUS = 100 START_NUM int = 1 START_NUM1 // 自动 延用上一行的数据值 1,)func main(){ }
1.2 常量定义的注意事项
1、常量名 最好大写,已区分于变量2、常量定义后是可以不使用的3、常量的定义可以不写 数据类型和变量一样,因为go编辑器会自动识别4、常量的数据必须是不可变的,也就是必须是确定下来的数据 不规范的列子: const NUM int = getNum() // getNum 函数的不获取是不确定的,所以不行5、在一个const 内,如果一行没有赋值,则会默认赋值上一行的数据直至有值可以赋值
1.3 关于iota 的使用
用法 const identifier = iota
iota 就是int 类型
package mainconst( A int = iota // 0 B // 1 C // 2)const( D = iota // 0 E ="jmz" // jmz F // jmz G = iota // 3 H = iota * 2 // 8 I // 10 J = iota // 6 K // 7)func main(){}
1.4 iota 的讲解
1、iota 每一次开始值 都为02、iota 每遇到const ,都会从0开始3、iota 在一个const内是每一行都会自动+1
二、变量
2.1 变量声明
var identifiter [type]
- 第一种 声明后再赋值
var v_name v_type v_name = value
- 第二种 声明的过程中赋值
var v_name v_type = value
- 第三种 简单声明
v_name := value
- 第四种 优雅的声明方式
var ( v_name1 v_type = value v_name2 = value2 v_name3 v_type3)
2.2 多变量声明
var vname1,vname2,vname3 int = 1,2,3 // 多变量声明指明了类型所以后面都必须是该类型var v1,v2,v3 = 23,"aaa","obj" // 多变量声明,没有指明类型,go编辑器会自动添加变量类型的a1,a2,a3,a4 := 1,2,"3",'3' 多变量简短声明
2.3 声明与赋值
1、关于值类型变量的声明,go编辑器会自动赋予该变量初始值 int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil,引用类型变量为nil 记住所有的内存在 Go 中都是经过初始化的。2、变量尽量遵循驼峰命名法 如:userName,startDate3、变量声明后不能再次声明,否则会报错 简短声明中 只要有一个未声明,就不会报错 如: num := 0 num,ok := iName.(int) // 这是断言,返回两个值
三、值类型与引用类型
在go 中有两个数据类型 值类型和引用类型,我数据类型中,具体讲解&变量 可以获取变量的地址 如: num := 12 println(&num)值类型: 1、变量 直接指向 内存中的值 2、将一个变量 赋值给 另一个变量,实际是对内存中的值进行了拷贝 3、值类型的变量的值存储在栈中引用类型: 1、引用类型的变量存储的是内存值所在的地址(数字),内存地址中第一个字所在的位置 2、将一个引用类型变量 赋值给 另一个引用类型变量,实际只是引用(地址)的复制 那些事值类型,那些事引用类型,请看下一章
如果喜欢看小说,请到