我創建了某種型別的函式。一旦我這樣做了,我就可以按照它應該完成的方式呼叫它,當我想在不宣告函式型別的變數的情況下呼叫它時,問題就來了。
這是一個可以澄清一切的例子:
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
關鍵是如果我想用更復雜的方法來做它,如果結構的欄位是默認的,它應該給我一個答案(所以我不必宣告一個變數,我可以使用宣告的型別),如果欄位更改則回傳另一個。我必須這樣做,因為我不想宣告一個變數來呼叫該方法。
uj5u.com熱心網友回復:
你可以這樣做MyStruct{}.add(),在操場上試一試。這仍然會分配方法接收器的一個實體,但至少您不必將其存盤在單獨的變數中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/383749.html
