在gocron.go文件的main函数中,有下面这一句,从这句代码中可以学习到切片和类型的综合运用
cliApp.Flags = append(cliApp.Flags,[]cli.Flag{}...)
首先在go语言中定义一个类型需要使用type 名字 struct{},还可以给这个类型定义成员方法
type Taoshihan struct { } func (t Taoshihan) Say() string { return "my name is taoshihan" }
实例化这个类型需要 名字{},下面这个就是实例化了一个Taoshihan对象
mytao := Taoshihan{}
切片可以看成是一个可变长度的数组,声明定义一个切片可以向下面这样
var 名字 []存储的类型
var myslice []Taoshihan
我这个切片中存的是Taoshihan这个类型
往切片中添加数据需要使用append函数,下面我往切片中增加了两个数据
myslice=append(myslice,mytao,Taoshihan{})
而原代码中的三个点...,代表的是打散切片,切片中的每个元素都添加进去,在我的例子中可以这样表示
myslice=append(myslice,[]Taoshihan{}...)
[]Taoshihan{}其实就代表了另一个切片,是个空的
循环遍历切片需要使用for range循环,其中的每个t就代表了是每个加进去的对象
for _,t := range myslice { fmt.Println(t.Say()) }
完整案例:
package main import ( fmt ) type Taoshihan struct { } func (t Taoshihan) Say() taoshihan } func main() { var myslice []Taoshihan mytao := Taoshihan{} myslice = append(myslice,Taoshihan{},mytao) //这里遍历输出两次 range myslice { .Println(t.Say()) } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。