[Go] gocron源码阅读-go语言的结构体
- 2019 年 11 月 15 日
- 笔记
结构体类型 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, }