GO每日一题(2)

67 阅读1分钟

下面这段代码能输出什么

package main

import "fmt"

type User struct {
	Name string
}

func (u *User) SetName(name string) {
	u.Name = name
}

func (u *User) GetName() string {
	return u.Name
}

type MyUser User

func main() {
	myUser := &MyUser{
		Name: "test",
	}

	myUser.SetName("abc")

	fmt.Println(myUser.GetName())
}

答案

编译失败

当使用 type 声明一个新类型,它不会继承原有类型的方法集。

image.png