类型转换规则-将类型转换为其基础类型

在将一个对象(type1)成员复制到另一个对象(type2)成员的过程中进入以下场景:

package main

import "fmt"

type SomeType string

func main() {
    source := SomeType("abc")
    dest := string(source) // this works 
    fmt.Println(dest)
}

对于这种类型转换(string(source)),应用了 Go 规范中的哪个规则,以转换为基础类型?

回答

如果您阅读了关于转换的内容,您将看到非常量转换的规则。第一个适用:

  • x可分配给 T。

和可分配性部分的链接。反过来,相关位是:

  • x 的类型 V 和 T 具有相同的基础类型,并且 V 或 T 中至少有一个不是定义的类型。

以上是类型转换规则-将类型转换为其基础类型的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>