1、import下划线导包
import _"./hello.go"
impory下划线导包,只导入hello的init()函数,不执行其中的代码
2、变量
1.1 单个声明:
var name string
var age int
var isOk bool
1.2 初始化多个变量
var name, age, sex = "zhang3", 18, male
1.3 省略变量类型
var name = "zhang3"
var age = 18
1.4 批量申明:
var (
a string
b int
c bool
d float32
)
2. 常量
const name = "zhang3"
const age(
a1 = 18
a2 = 19
)
3、字符串操作
方法 | 介绍 |
---|---|
len(str) | 求长度 |
+或fmt.Sprintf | 拼接字符串 |
strings.Split | 分割 |
strings.Contains | 判断是否包含 |
strings.HasPrefix,strings.HasSuffix | 前缀/后缀判断 |
strings.Index(),strings.LastIndex() | 子串出现的位置 |
strings.Join(a[]string, sep string) | join操作 |
4、字符串修改
要修改字符串,需要先将其转换成[]rune或[]byte
,完成后再转换为string
func changeString() {
s1 := "hello"
// 强制类型转换
byteS1 := []byte(s1)
byteS1[0] = 'H'
fmt.Println(string(byteS1))
s2 := "博客"
runeS2 := []rune(s2)
runeS2[0] = '狗'
fmt.Println(string(runeS2))
}
5、数组
// 全局:
var arr0 [5]int = [5]int{1, 2, 3}
var arr1 = [5]int{1, 2, 3, 4, 5}
var arr2 = [...]int{1, 2, 3, 4, 5, 6}
var str = [5]string{3: "hello world", 4: "tom"}
// 局部:
a := [3]int{1, 2} // 未初始化元素值为 0。
b := [...]int{1, 2, 3, 4} // 通过初始化值确定数组长度。
c := [5]int{2: 100, 4: 200} // 使用索引号初始化元素。
d := [...]struct {
name string
age uint8
}{
{"user1", 10}, // 可省略元素类型。
{"user2", 20}, // 别忘了最后一行的逗号。
}