Go内置类型/变量/常量 #1
【标识符/关键字】
•go区分大小写。
◆go语言中有25个关键字
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
◆go语言有30多个预定义的名字,用于内建的常量、类型和函数
•内建常量:
true false iota nil
•内建类型:
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
•内建函数:
make len cap new append copy close delete
complex real imag
panic recover
◆fmt包的使用
1,格式说明
◆【变量】
函数外的每个语句都必须以关键字开始(var、const、func等)。
1,变量声明
•格式:var 变量名 变量类型
①标准声明
var v1 string
var v2 int
var v3 bool
②批量声明
var (
v1 string
v2 int
v3 bool
v4 float32
)
2,变量初始化
•格式:var 变量名 类型 = 表达式
var v1 string = "test"
var v2 int = 10
var v3 bool =false
•一次初始化多个变量
var v4,v5 = "test",20
•类型推导
根据等号右边的值来推导变量的类型完成初始化。
var v1 = "test"
var v2 = 10
•短变量声明
在函数内部,使用简略的 := 方式声明并初始化变量,:=不能使用在函数外。
package main
import (
"fmt"
)
var v1 = 100 // 全局变量v1
func main() {
v2 := 10
v1 := 200 // 此处声明局部变量v1
fmt.Println(v1, v2)
}
•匿名变量
多重赋值时,如果想要忽略某个值,可以使用匿名变量。 匿名变量用一个下划线_表示。
匿名变量不占用命名空间,不会分配内存,匿名变量之间不存在重复声明。
3,类型别名
type myint int #定义myint为int的别名;
var i myint = 10
◆【常量】
常量和变量声明类似,只是把var换成了const,常量在定义的时候必须赋值。常量声明后,在整个运行期间值不能改变。
const pi = 3.1415
•多个常量一起声明:
const {
pi =3.1415
c1 = 1024
}
•const同时声明多个常量时,如果省略了值则表示和上一行的值相同。
const (
v1 = 100
v2 //也为100
v3 //也为100
)
◆【iota】
iota是go语言的常量计数器,只能在常量表达式中使用。
iota在const关键字出现时将被重置为0。const中每新增一行常量声明, iota计数一次。
const (
v1 = iota //0
v2 //1
v3 //2
v4 //3
)
•使用_跳过某些值
const (
v1 = iota //0
v2 //1
_
v4 //3
)
•iota声明中间插值
const (
v1 = iota //0
v2 = 100 //100
v3 = iota //2
v4 //3
)
const v5 = iota //0
◆【运算符】
++与--在go语言中是单独的语句,不是运算符。
【帮助文档】
•中文在线文档:https://studygolang.com/pkgdoc
•官网:https://golang.google.cn/
•代码自动格式化:go fmt main.go
参考:https://www.liwenzhou.com/categories/Golang/