Go中的隐式类型转换

时间:2018-09-13 07:28:04

标签: go

请考虑以下代码段:

cannot use returnX(f) (type int) as type Foo2 in assignment

在这里,我无法编译该程序int

这里,Foo2package main import "fmt" type Foo struct { a string b string } func returnX(s Foo) []int { return []int{1} } type Foo2 []int func main() { f := Foo{"a", "b"} var b Foo2 b = returnX(f) fmt.Println(b) } 之间的隐式转换失败了

但是,这可行:

[]int

在这里,我可以将Foo2隐式转换为{{1}}并成功进行分配。

为什么某些类型而不是其他类型可以隐式赋值?

0 个答案:

没有答案