在没有类型的情况下调用类型函数

我创建了某种类型的函数。一旦我这样做了,我就可以按照它的意思来调用它,当我想调用它而不声明函数类型的变量时,问题就来了。


这是一个可以澄清一切的例子:


type MyStruct struct{

   number1  int

   number2  int

}


func (input *MyStruct) declareValues(val1 int, val2 int){

   input.number1 = val1

   input.number2 = val2

}


func (input MyStruct) add() int{

   return number1 + number2

}


var declared MyStruct

declared.declareValues(2,3)

fmt.Println(declared.add())   // Should return 5


fmt.Println(¿MyStruct?.add()) // If works, should return 0

关键是,如果我想用更复杂的方法来做,并且如果结构的字段是默认字段,它应该给我一个答案(所以我不应该声明一个变量,我可以使用它来调用它声明的类型),如果字段发生更改,则返回另一个。我必须这样做,因为我不想声明一个变量来调用该方法。


慕莱坞森
浏览 85回答 1
1回答

绝地无双

你可以,在操场MyStruct{}.add()上试试。这仍然分配方法接收器的实例,但至少您不必将其存储在单独的变量中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go