[Go] gocron源码阅读-go语言中数组和切片的字面值初始化语法

源码中有这么一句,这个函数要求返回的是[]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)
    }
}
复制代码

 

posted @   唯一客服系统开发笔记  阅读(252)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2017-11-15 [编程] C语言循环结构计算π的值
点击右上角即可分享
微信分享提示
1
chat with us