请告诉我为什么它不起作用:mest.st("iii", 33)
import "fmt"
type Mstruct struct {
name string
age int
}
func (m Mstruct) st(a string, b int) {
m.name = a
m.age = b
}
func main() {
mest := Mstruct{"eee", 11}
fmt.Println(mest)
mest.st("iii", 33)
fmt.Println(mest)
}
如果您将其更改为:
var mest Mstruct
func (m Mstruct) st(a string, b int) {
mest.name = a
mest.age = b
}
那可行。
调用方法时,定义该方法的结构对象按值传递给它。要更改结构对象,您需要使用指针