go标志:恐慌:提供的数据不是指向结构的指针

go标志:恐慌:提供的数据不是指向结构的指针,go,Go,我正在尝试修改一些使用此包的go代码: 如果我尝试在没有参数的情况下运行该程序,则该程序可以编译并运行良好,但如果我尝试使用任何参数,则会收到一条紧急消息“提供的数据不是指向结构的指针”,后跟堆栈跟踪。我是新来的,我不确定我忽略了什么 错误消息似乎指向此块: func (c *NsOpts) Execute(args []string) error { if err != nil { os.Exit(1) } checkCert(c.Username, c

我正在尝试修改一些使用此包的go代码:

如果我尝试在没有参数的情况下运行该程序,则该程序可以编译并运行良好,但如果我尝试使用任何参数,则会收到一条紧急消息“提供的数据不是指向结构的指针”,后跟堆栈跟踪。我是新来的,我不确定我忽略了什么

错误消息似乎指向此块:

func (c *NsOpts) Execute(args []string) error {
    if err != nil {
        os.Exit(1)
    }
    checkCert(c.Username, c.Password, c.Address)
    return nil
}
这是NsOpts结构:

//DiskOpts contains the plugin options
type NsOpts struct {
    Username string `short:"u" long:"username" description:"Username for the netscaler" required:"true"`
    Password string `short:"p" long:"password" description:"Password for the netscaler" required:"true"`
    Address  string `short:"a" long:"address" description:"FQDN or IP to connect to" required:"true"`
}

var nsOpts NsOpts

//teling go-flags to add this plugin as an available command
func init() {
    parser.AddCommand("check-netscaler", "Checks netscaler certificates expiration", "Checks netscaler certs", &nsOpts)
}
这就是被调用的func:

func checkCert(username, password, host string) {
...
}

请发布错误消息并堆栈traceBtw,您的
函数如何执行
甚至编译,if检查做什么?在那个地方的
err
是什么,一些包变量?请发布错误消息并堆栈traceBtw,您的
如何执行
函数甚至编译,if检查做什么?在那个地方,某个包变量的
err
是什么?