变量
一、声明变量
- var 标准格式声明
var name string var age int
- 批量格式
var ( name string age int )
二、变量初始化
golang 变量初始化具有默认值,整数 浮点默认值是0; 字符串 默认值是空字符串; 布尔 默认值true;切片、函数、指针默认值为 nil
- 标准格式
var 变量名 类型 = 表达式
var name string = "lisong" var age int = 28
- 编译器推导
var name = "lisong" var age = 28
- 短变量声明并初始化
name := "lisong" age := 28
注意:=和=的区别, := 表示身边并初始化,= 只表示赋值
三、多个变量同时赋值
var name,age = "lisong",28 name,age := "lisong",28
四、匿名变量
func GetData(){ return 100,200 } a,_ := GetData // _表示匿名变量
数据类型
Go语言的数据类型包含基本的整型,浮点型,布尔型,字符串,还有切片,结构体,函数,map,通道(channel),切片有着比指针的便利性,但比指针安全,切片可以进行安全切高效的内存操作。
1. 整型(int)
整型分类
- 按长度分类: int8/int16/int32/int64
- 按对应的无符号整型: uint8/int16/int32/int64
其中,uint8就是我们熟知的byte型,int16对应 C语言 中的short型,int64对应C语言中的long型
- 特点:
- 根据平台自动匹配int/uint
2. 浮点型(float)
golang 支持两种浮点型数:float32/float64
- float32 最大值常量定义math.MaxFloat32
- float64 最大值常量定义math.MaxFloat64
3. 布尔型( bool )
var n bool = true var n bool = false
4. 字符串(string)
双引号 “”表示字符串;反引号“表示多行字符串
- 示例:
name := "lisong"content := ` I'm coder, love coding `
- 字符串 转义符
转义符含义\r回车符\n换行符\t制表符\’ 单引号 \”双引号\\反斜杠
5. 字符(byte)
GO语言字符分为2中
- 一种是uint8类型,或者叫做byte型,代表ASCII码的一个字符
- 另一种是rune类型,代表一个UTF-8字符,当处理中文或者日文的时候需要用到rune类型,rune类型实际上是一个int32
- 示例:
var a byte = 'a'
6. 切片
slice := make([]int, 3) // 创建切片slice[0]=1 // 切片赋值slice[1]=2slice[2]=3 slice[0]=1 // 切片赋值 slice[1]=2 slice[2]=3