这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
安装go语言
访问 go.dev/ ,点击 Download ,下载对应平台安装包,安装即可
配置 Go 语言开发环境,安装 VS Code,并安装 Go 插件
go语言基本语法
1.变量声明
var 变量名 变量类型
go语言中还支持批量变量声明:
var (
a string
b int
c bool
d float32
)
在函数内部,可以使用更简略的 := 方式声明并初始化变量
2.字符串的常用操作
len(str) 求长度
+或fmt.Sprintf 拼接字符串
strings.Split 分割
strings.contains 判断是否包含
strings.HasPrefix,strings.HasSuffix 前缀/后缀判断
strings.Index(),strings.LastIndex() 子串出现的位置
strings.Join(a[]string, sep string) join操作
要修改字符串,需要先将其转换成[]rune或[]byte,完成后再转换为string。无论哪种转换,都会重新分配内存,并复制字节数组。
3.流程控制
if else的左括号必须与表达式在同一行
无限循环:
for {
循环体语句
}
Go语言中可以使用for range遍历数组、切片、字符串、map 及通道(channel)。 通过for range遍历的返回值有以下规律:
- 数组、切片、字符串返回索引和值。
- map返回键和值。
- 通道(channel)只返回通道内的值。
4.数组
初始化:
var testArray [3]int //数组会初始化为int类型的零值
var numArray = [3]int{1, 2} //使用指定的初始值完成初始化
var cityArray = [3]string{"北京", "上海", "深圳"} //使用指定的初始值完成初始化
//可以让编译器根据初始值的个数自行推断数组的长度
var numArray = [...]int{1, 2}
var cityArray = [...]string{"北京", "上海", "深圳"}
//指定索引值初始化
a := [...]int{1: 1, 3: 5}
fmt.Println(a) // [0 1 0 5]
数组遍历:
var a = [...]string{"北京", "上海", "深圳"}
// 方法1:for循环遍历
for i := 0; i < len(a); i++ {
fmt.Println(a[i])
}
// 方法2:for range遍历
for index, value := range a {
fmt.Println(index, value)
}
5.切片
切片的本质就是对底层数组的封装,它包含了三个信息:底层数组的指针、切片的长度(len)和切片的容量(cap)
6.map
判断map中键是否存在:
value, ok := map[key]
Go语言中使用for range遍历map
for k, v := range scoreMap {
fmt.Println(k, v)
}
使用delete()内建函数从map中删除一组键值对:
delete(map, key)