Yak学习3:基础语法3复合数据类型
列表list
中括号
列表中有不同数据类型,列表类型为any
列表内只有整数,列表类型为int
列表又有整数又有浮点数,列表类型为float
可以用make([]类型<,元素数量>)创建列表
列表操作指令
1 | a=[1,2] |
内置方法
1 | a.Append(1)、a.Push(1) 在数组后追加元素1 |

1 | a.Length()、a.Len() 获取数组长度 |
字典map
创建字典
m={“a”:1,”b”:2} -> type: map[string]int
m1={1:2,”3”:”4”,”5”:6.0} -> type:map[interface{}]interface{}
1 | a=make(map[string]int<,2>)后面可选指定容量 |
基本操作
基本操作和列表类似
获取字典中不存在的值会返回undefined
获取长度len(a)
获取值a["e"]、a.f
特殊的:a.$v用于在字典a中查找键为v的值
例如
v=”b”
a={“b”:”hihihi”}
println(a.$v) -> hihihi
添加、删除值
1 | a["e"]=1 |
删除delete(a,”b”)
方法
a.Keys() 获取所有元素的键key
a.Values() 获取所有元素的Value值
a.Entries() / a.Items() 获取所有元素的Entity
a.Foreach(func(k,v){println(k,v)}) 遍历元素
a.Set(“key”,”value”) 设置元素的值,若key不存在则添加
a.Remove(“key”) / a.Delete(“key”) 删除一个值
a.Has(“key”) / a.IsExisted(“key”) 判断是否包含key
a.Length() / a.Len() 长度
通道channel
创建
ch:=make(chan int)
ch2:=make(chan var,2)这里设定了存储空间为2个
写入
ch<-1 没写存储空间会阻塞
读取
v:=<-ch
检查是否取走包裹成功
v,ok:=<-ch
if ok{println(“success”)}
len(ch) 查看还有多少个包裹
cap(ch) 查看最多存放多少个包裹
close(ch) 关闭channel
for v=range ch2{println(v)} 遍历取走所有包裹
- 标题: Yak学习3:基础语法3复合数据类型
- 作者: ljnljn
- 创建于 : 2026-02-14 20:26:00
- 更新于 : 2026-05-25 22:04:46
- 链接: https://ljnljn2005.github.io/2026/02/14/Yak学习3:基础语法3复合数据类型/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。