Go入门学习三 | 青训营

74 阅读2分钟

切片:未定义大小的数组

var identifier []type
var slice1 []type = make([]type, len)//make定义,初始化为0
len()长度;cap()容量;
slice1.append(slice1,1,2,3)//追加元素
copy(alic,slice1)//拷贝元素

集合MAP:无序的键值对

var siteMap map[string]string //map[键 类型]值类型
m := make(map[string]int)// 创建一个空的 Map
m := make(map[string]int, 10)// 创建一个初始容量为 10 的 Map

name, ok := siteMap [ "Facebook" ] //如果ok是true,则存在,否则不存在
delete(siteMap,”Facebook”)

补充
var str string = "10"
var num int
num, _ = strconv.Atoi(str)//将字符串变量 str 转换为整型变量 num

接口:go中的数据类型 所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。

错误处理:有点蒙,等做项目时候再学一学

channal:通道、并发 并发:go f(x)实现 通道:用于两个 goroutine 之间通过传递一个指定类型的值来同步运行和通讯

ch := make(chan int)//创建通道
ch := <-ch1  // 从 ch1接收数据,并把值赋给 v
ch := make(chan int, 100)//生成通道缓冲区

JSON使用: json是一种轻量级的数据交换格式。golang 提供了 encoding/json 包来操作JSON数据。注意,MarshalIndent格式化输出

stu := Student{"tom", 12, "football"}
data, err := json.Marshal(&stu)
var b userInfo
err = json.Unmarshal(buf, &b)

strconv:

Atoi函数用于将字符串转换为整型num, err := strconv.Atoi("123")
Itoa函数用于将整型转换为字符串str := strconv.Itoa(123)`
ParseFloat``函数用于将字符串转换为浮点型num, err := strconv.ParseFloat("3.14", 64)

ParseInt``函数用于将字符串转换为指定进制的整型num, err := strconv.ParseInt("1010", 2, 64)

os:

os.Getenv("GOPATH")//获取环境变量的值
os.Setenv("NAME", "lqz")//设置环境变量的值
cmd := exec.Command("ls")//运行cmd
e := cmd.Run()
CheckError(e)