Golang,来自struct的调用方法

rtm*_*777 4 go

是否可以使用此结构类型从struct调用方法而不使用变量?

//models.go
type MyStruct struct {
  id int
  name string
}

func (s MyStruct) GetSomeAdditionalData() string {
  return "additional data string"
}

//app.go
func main() {
  fmt.Println(models.MyStruct.GetSomeAdditionalData()) // not works

  var variable models.MyStruct
  fmt.Println(variable.GetSomeAdditionalData()) // it worked
}
Run Code Online (Sandbox Code Playgroud)

或者也许Go有其他方法为struct添加一些数据?

或者我可能选择错误的方式来做到这一点?:)

fuz*_*fuz 5

您可以使用结构文字或nil指针.

MyStruct{}.GetSomeAdditionalData()
(*MyStruct)(nil).GetSomeAdditionalData()
Run Code Online (Sandbox Code Playgroud)