这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
本人是一名Java选手,虽说两种语言有些许的相似性,对于 golang 来说,还需要学习很多东西。 要想入门一门语言,其语法是重中之重,打好基础,后期框架的使用才会得心应手。
Go语言基础
变量基础
命名
命名一般使用驼峰式命名。
变量声明
var 变量名 string = "hello world"
赋值
- x = 1
- *p = "piont"
除了普通的赋值方式,还可以使用元组赋值,同时更新多个变量的值
- x, y, z = 1, 3, 5 交换两个变量的值:
- x, y = y, x
可以使用下划线 _ 来丢弃不需要存储的值:
- _, ok = x.(T)
先讲一下 = 和 := 的区别
- “=”的使用与其他语言相同,赋值操作,但是此处的变量必须提前声明好类型,或者在声明的同时赋值。
- “:=”的使用则是自动匹配变量类型,省去了声明变量类型操作,也就是你可以不声明,在赋值使用的时候多加个冒号就可以了。
对于复合类型的变量,也会产生赋值行为:
-
medals := []string{"a", "b", "c"}
相当于:
medals[0] = "a" medals[1] = "b" medals[2] = "c"
基本数据类型
int8、int16、int32和int64,分别对应8、16、32、64bit大小的有符号整数,与此对应的是uint8、uint16、uint32和uint64四种无符号整数类型。
对于浮点数来说,有float32和float64两种
布尔类型 bool
复合数据类型
数组
定义:
var arr [3]int
var arr [3]int{1, 2, 3}
arr := [...]int{1, 2, 3}
len(arr): 获取数组长度
// Print the indices and elements.
for i, v := range arr {
fmt.Printf("%d %d\n", i, v)
}
// Print the elements only.
for _, v := range arr {
fmt.Printf("%d\n", v)
}
Slice
Slice 切片:代表变长的序列,和数组相似
一个slice类型一般写作[]T,其中T代表slice中元素的类型
可以使用append函数,向slice中追加元素。