假设我有一个这样的类型别名:

type myint int;

现在我有一个名为 myintfoo 类型。有没有办法将 foo 从 myint 转换为 int

最佳答案

使用 conversionmyint 转换为 int :

package main

import "fmt"

type myint int

func main() {
    foo := myint(1) // foo has type myint
    i := int(foo)   // use type conversion to convert myint to int
    fmt.Println(i)
}

类型 myint 不是 int 的别名。这是一种不同的类型。例如,表达式 myint(0) + int(1) 无法编译,因为操作数是不同的类型。 Go 中有两个内置类型别名,rune 和 byte。应用程序不能定义自己的别名。

关于go - 从类型别名转换为原始类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25841042/

10-13 05:36