[Go] gocron源码阅读-go语言中数组和切片的字面值初始化语法
2023-02-18 15:47:26 时间
源码中有这么一句,这个函数要求返回的是[]cli.Command,cli.Command类型的切片,这个地方直接使用字面值初始化了一个切片返回去了
return []cli.Command{command}
数组的字面值初始化,一般是需要指定数组的大小,可以使用...三个点来代替大小,根据后面初始化的个数来计算,下面就是字面值初始化一个数组
arr := [...]int{1, 2, 3} for i, j := range arr { fmt.Println(i, j) }
切片和数组很类似,并且切片的底层也是引用了一个数组,切片的字面值初始化直接不需要三个点就可以,下面的切片存的是自定义的User类型
type User struct { Name string } user := User{Name: "taoshihan"} mySlice := []User{user} for i, user := range mySlice { fmt.Println(i, user.Name) }
完整代码:
package main import "fmt" type Command struct { Name string } func main() { //初始化一个数组 arr := [...]int{1, 2, 3} for i, j := range arr { fmt.Println(i, j) } //初始化一个切片,这个和源码中的就差不多了 command := Command{Name: "taoshihan"} commands := []Command{command} for i, command := range commands { fmt.Println(i, command.Name) } }
相关文章
- [javascript]使用正则替换url中最后面的斜杠
- [PHP]面向对象多态性的体现
- [操作系统]内存页面置换算法
- 在线客服系统源码开发实战总结:gin框架模板渲染html页面
- 在线客服系统源码开发实战总结:H5 Notifications浏览器桌面通知
- wordpress独立站宝塔面板配置HTTPS教程
- 宝塔面板出现“require(): open_basedir restriction in effect. ”的解决方法
- elementui的loading加载页面的使用方式
- javascript监听页面关闭事件
- 【小程序】微信小程序开发在app.json中新建页面时报[ WXML 文件编译错误] (env: Windows,mp,1.06.2206090; lib: 2.25.0)
- 【Linux】宝塔面板设置MySQL慢查询日志,未走索引日志
- 客服系统搭建教程_宝塔面板下安装使用方式_可对接公众号_支持APP/h5多租户运营
- [宝塔面板] 客服系统适配宝塔面板,实现软件商店=>导入项目=>一键部署私有云在线客服系统
- [html] 同一页面的跳转,锚文本的使用方法
- [PHP] 解决宝塔面板运行php项目 pcntl_fork() has been disabled for security reasons
- 论文解读丨无参数的注意力模块SimAm
- 华为云企业级Redis揭秘第15期:Redis为什么需要强一致?
- 带你了解AKG正反向算子注册+关联流程
- 软件开发除了23种设计模式,还有7个开发原则需要了解
- Sechunter移动应用隐私合规检测详解