一、标识符的命名
标识符是程序员定义的具有特殊意义的词
比如:变量名、常量名、函数名
与大多数编程语言一样,标识符的命名规范是,由字母
、数字
和_(下划线)
组成,并且只能以字母
和_
开头。
二、变量
变量是用来存储数据的,不用的数据类型所对应的变量也不一样,数据是保存在内存中的,当程序需要用到数据的时候,会通过内存地址去查找数据,很不方便,所以就用变量来将这个数据的内存地址保存起来。
常见变量的数据类型有:整型、浮点型、布尔型等。
三、变量的声明与初始化
常规声明
Go语言的变量声明格式为:
var 变量名 变量类型
变量声明以关键字var
开头,变量类型放在变量的后面,行尾无需分号。 举个例子:
var name string
var age int
批量声明
当需要声明多个变量时,需要写很多个var
,会相对繁琐一点,可以使用合并同类项的方法批量声明:
var (
a string
b int
c bool
d float32
)
变量的初始化
在Go语言中,如果只声明了一个变量但是没有对其赋值,系统会默认对每个变量初始化成其类型的默认值。
例如: 整型和浮点型变量的默认值为0
。 字符串变量的默认值为空字符串
。 布尔型变量默认为false
。
01.初始化时赋值
可以在声明变量的时候为其指定初始值,格式如下:
var 变量名 类型 = 表达式
例子:
var name string = "Zhangsan"
var age int = 18
或者一次初始化多个变量
var name, age = "Zhangsan", 20
02.初始化后赋值
常见的赋值方式:
var name string
name = "zhangsan"
03.直接赋值
也叫类型推导,根据值判断变量的数据类型
var name = "zhangsan"
var age = "18"
04.短变量声明
在函数内部,可以使用更简略的:=
方式声明并初始化变量。
package main
import "fmt"
func main() {
n := 10
m := 200 // 此处声明局部变量m
fmt.Println(m, n)
}
Go语言中非全局变量声明后必须使用,不然在编译的时候会报错
四、常量
相对于变量,常量是保持不变的。常量的声明和变量的声明非常类似,只是把var
换成了const
,常量在定义的时候必须赋值。
const pi = 3.1415
const age = 22
批量声明
const (
n1 = 100
n2
n3
)
const同时声明多个常量时,如果省略了值则表示和上面一行的值相同
五、iota
iota
是go
语言的常量计数器,只能在常量的表达式中使用。
iota
在const关键字出现时将被重置为0
。const
中每新增一行常量声明将使iota
计数一次(iota可理解为const语句块中的行索引)。 使用iota
能简化定义,在定义枚举时很有用。
const (
n1 = iota //0
n2 //1
n3 //2
n4 //3
)
使用_
跳过某些值
const (
n1 = iota //0
n2 //1
_
n4 //3
)
iota声明中间插队
const (
n1 = iota //0
n2 = 100 //100
n3 = iota //2
n4 //3
)
const n5 = iota //0
多个iota
定义在一行
const (
a, b = iota + 1, iota + 2 //1,2
c, d //2,3
e, f //3,4
)
定义数量级 (这里的<<
表示左移操作,1<<10
表示将1的二进制表示向左移10位,也就是由1变成了10000000000
,也就是十进制的1024
。同理2<<2
表示将2
的二进制表示向左移2位,也就是由10
变成了1000
,也就是十进制的8。)
const (
_ = iota
KB = 1 << (10 * iota)
MB = 1 << (10 * iota)
GB = 1 << (10 * iota)
TB = 1 << (10 * iota)
PB = 1 << (10 * iota)
)
网友评论