当前位置: 首页 > news >正文

Yak学习3:基础语法3复合数据类型

列表list

中括号
列表中有不同数据类型,列表类型为any
列表内只有整数,列表类型为int
列表又有整数又有浮点数,列表类型为float

可以用make([]类型<,元素数量>)创建列表
列表操作指令

a=[1,2]
b=[4,5,6]
a=append(a,3) a为`[1,2,3]`
a=a+b a为`[1,2,3,4,5,6]`
a[0] 输出1
a[:2] 输出[1,2]
a[::-1] 输出[6,5,4,3,2,1]

内置方法

a.Append(1)、a.Push(1) 在数组后追加元素1
a.Pop([index]) 弹出数组最后一个元素(不带index时)
a.Extend(b)、a.Merge(b) 用新数组扩展原数组

assets/Yak学习3:基础语法3复合数据类型/file-20260214195106943.png

a.Length()、a.Len() 获取数组长度
a.Capability、a.Cap() 获取数组容量
a.StringSlice() 将数组转换成[]string
a.GeneralSlice() 将数组转换成最泛化的类型[]any
a.Shift() 数组开头移除一个元素
a.Unshift() 数组开头增加一个元素
a.Map(func(i){return i*2})对数组每个元素进行指定函数运算后返回结果
a.Filter(func(i){return i>2})对数组每个元素进行指定函数过滤后返回结果
a.Insert(1,2)在指定位置插入元素
a.Remove(1)移除数组第一次出现的元素
a.Reverse()反转
a.Sort([reverse])排序(reverse是否反向)
a.Clear()清空
a.Count()计算元素数量
a.Index(i)返回第i-1个元素

字典map

创建字典

m={"a":1,"b":2} -> type: map[string]int
m1={1:2,"3":"4","5":6.0} -> type:map[interface{}]interface{}

a=make(map[string]int<,2>)后面可选指定容量
a["a"]=1
println(a) -> map[a:1]

基本操作

基本操作和列表类似
获取字典中不存在的值会返回undefined
获取长度len(a)
获取值a["e"]、a.f
特殊的:a.$v用于在字典a中查找键为v的值
例如
v="b"
a={"b":"hihihi"}
println(a.$v) -> hihihi

添加、删除值

a["e"]=1
a.f=2

删除delete(a,"b")

方法

a.Keys() 获取所有元素的键key
a.Values() 获取所有元素的Value值
a.Entries() / a.Items() 获取所有元素的Entity
assets/Yak学习3:基础语法3复合数据类型/file-20260214201322072.png
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")}
assets/Yak学习3:基础语法3复合数据类型/file-20260214202317782.png
len(ch) 查看还有多少个包裹
cap(ch) 查看最多存放多少个包裹
close(ch) 关闭channel
for v=range ch2{println(v)} 遍历取走所有包裹

http://www.jsqmd.com/news/382640/

相关文章:

  • 智能菜谱推荐系统设计毕业设计源码(源码+lw+部署文档+讲解等)
  • 2026年 AI生成用例工具推荐榜单:一站式/专业/高效/智能/精准/全面/快速/自动化/定制化/企业级工具深度解析与选购指南 - 品牌企业推荐师(官方)
  • 《提示工程架构师进阶:提示设计迭代的深度优化实践》
  • 2026年 监控塔厂家推荐排行榜:边防/林火/安防瞭望监控塔,高空防火监控塔实力品牌深度解析与选购指南 - 品牌企业推荐师(官方)
  • 宿舍管理系统优化设计计算机毕业设计(源码+lw+部署文档+讲解等)
  • 企业车辆管理系统设计计算机毕设(源码+lw+部署文档+讲解等)
  • 豆包大模型2.0发布,推理能力达到世界顶尖水平
  • 如何识别企业的深度学习跨语言情感分析技术优势
  • PLC西门子杯比赛:三部十层电梯博图v15.1程序带wincc画面
  • 神经符号方法在数学问题解析推理中的应用
  • 从理论到实践:AI原生应用的幻觉缓解技术深度剖析
  • 我赶论文熬3天没睡,亲测7款免费AI工具一键生成超长篇幅 - 麟书学长
  • Nodejs+vue+ElementUI网上流浪狗救助捐赠平台
  • 掌握大数据领域数据架构,开启高效数据管理
  • Day21
  • 计算机毕业设计 java 同城临期食品购买平台 基于 Java 的同城临期食品交易平台设计与实现 Spring Boot 框架下临期食品购买与配送管理系统开发
  • Avalonia 中多个 Grid 实现 SharedSizeGroup
  • 市场竞争中的博弈论模型:价格战、信息博弈与企业长期策略
  • 【C#高级】TCP请求-应答模式的WPF应用实战 - 实践
  • BISHI46 小红的魔法药剂
  • 格雷厄姆特价股票策略在不同市场信息不对称下的表现
  • 2026年2月西安防控眼镜配镜店推荐,三维数据透视专业防控机构 - 品牌鉴赏师
  • 2026年2月贵阳高散眼镜配镜时尚眼镜店推荐,复杂散光精准适配指南 - 品牌鉴赏师
  • 题解:P6961 [NEERC 2017] Journey from Petersburg to Moscow
  • 题解:P12213 [蓝桥杯 2023 国 Python B] 最长回文前后缀
  • 沃尔玛购物卡怎么处理划算?这些妙招让你轻松回血! - 京顺回收
  • 想用U盘,必须使用windows7
  • 数字员工推动AI销冠系统与AI提效软件系统实现高效业务转型
  • 教鞭神器,网课老师必备
  • 北方水垢重灾区选购建议:2026 强力阻垢净水器排行,菲浦斯领先 - 水业策论