GoLang 什么类型变量可以互相赋值
import "fmt"
type Per struct { // 自定义类型,底层是内置类型struct{} (UnNamed Type)
name string
}
type myINt []string // 自定义类型,底层是内置类型struct{} (UnNamed Type)
func (m myINt) myIntFun() { // myINt 值接收者
fmt.Println(m[0])
}
func (p Per) Hello() { // Per 值接收者
fmt.Println("hello", p.name)
}
type T int // 自定义类型,底层是内置类型int (Named Type)
func F(t T) {}
func main() {
var q int // int 内置类型变量
F(q) // F() 接受者是 自定义类型 T , q变量想成功调用F()即需要两个变量可以互相赋值(T&q),但是T类型的底层类型是Named Type,所以此处报错;
p := Per{"casso"} // 变量p
p.Hello()
}