zoukankan      html  css  js  c++  java
  • [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)
        }
    }
  • 相关阅读:
    c#: List.Sort()实现稳固排序(stable sort)
    c# dt.AsEnumerable ().Join用法
    C#中new的两种用法"public new"和"new public"
    简说设计模式——观察者模式
    mysql中explain的type的解释
    mysql 查询优化 ~explain解读之select_type的解读
    代理
    charle
    like语句防止SQL注入
    java学习网站
  • 原文地址:https://www.cnblogs.com/taoshihan/p/11869957.html
Copyright © 2011-2022 走看看