[Go] gocron源码阅读-go语言的结构体
程序员文章站
2022-03-25 21:22:33
结构体类型 type 名字 struct{},下面这段是github.com/urfave/cli包里的代码,声明了一个App的结构体类型 点操作符也可以和指向结构体的指针一起工作,如果赋给的是个指针,那也可以直接用点来操作 type User struct{ Name string } user: ......
结构体类型 type 名字 struct{},下面这段是github.com/urfave/cli包里的代码,声明了一个app的结构体类型
type app struct { // the name of the program. defaults to path.base(os.args[0]) name string // full name of command for help, defaults to name helpname string // description of the program. usage string // text to override the usage section of help usagetext string // description of the program argument format. argsusage string // version of the program version string // description of the program description string // list of commands to execute commands []*command // list of flags to parse flags []flag }
点操作符也可以和指向结构体的指针一起工作,如果赋给的是个指针,那也可以直接用点来操作
type user struct{
name string
}
user:=&user{name:"taoshihan"}
fmt.println(user.name)
cliapp := cli.newapp()
cliapp.name = "gocron"
cliapp.usage = "gocron service"
这个cli包下的newapp方法返回的是*app类型,因此cliapp就是可以直接点操作里面的成员了
return &app{ name: filepath.base(os.args[0]), helpname: filepath.base(os.args[0]), usage: "a new cli application", usagetext: "", version: "0.0.0", bashcomplete: defaultappcomplete, action: helpcommand.action, compiled: compiletime(), writer: os.stdout, }
上一篇: 高德客户端及引擎技术架构演进与思考
下一篇: 什么是结构、样式、行为分离?