Golang 中的未定义错误

我有以下结构:


/*gotime.go*/

package gotime


type Now struct {

    dnow int

    ynow int

    mnow time.Month

}

是否有这样的功能:


/*gotime.go*/

func (n Now) DayNow() int {

    n.dnow = time.Now().Day()

    return n.dnow


}

当我想调用这个包时出现以下错误:


/*main.go*/

package main


import (

    "fmt"

    "./gotime"

)


blah := Now

fmt.Println(blah.DayNow())

我收到错误:


# command-line-arguments

.\main.go:5: imported and not used: "_/C_/Users/ali/Desktop/test/gotime"

.\main.go:10: undefined: Now

我怎么解决这个问题?


幕布斯6054654
浏览 222回答 1
1回答

扬帆大鱼

由于Now是一个结构体,您需要一个结构体复合文字来创建该类型的值。此外,由于它来自另一个包,因此您需要Qualified name:blan := gotime.Now{}此外,由于您正在修改它,您应该/需要使用指针接收器:func (n *Now) DayNow() int {    n.dnow = time.Now().Day()    return n.dnow}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go