假设我有一个类型别名,如下所示:

type myint int;

现在我有一个叫foomyint型.有没有办法把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相关问答推荐

Go汇编器命名为Constants

Makefile:现有文件上没有这样的文件或目录,不加载环境变量

Golang Viper:如果第一个字段不存在,如何从另一个字段获取值

如何在Golang中获取mp3文件的持续时间?

如何防止程序B存档/删除围棋中程序A当前打开的文件?

使用Go使用Gorm使用外键对数据进行排序

如何在S汇编器中更高效地将全局数据加载到霓虹灯寄存器?

`docker system df` 与 `/system/df` (docker api 端点)

golang testscript .txtar 语法,用于 stderr 或 stdout 中包含的文本

Golang telegram 机器人

在 Go 中解组编号的 XML 标签

如何在 Go 服务中导入 monorepo 中的包?

当我的 go build 成功时,如何修复我的 docker build 失败? Dockerfile 包括 go mod 下载

有没有办法计算枚举中定义的项目总数?

如何将元素从一个切片移动到另一个切片

为什么 `append(x[:0:0], x...)` 将切片复制到 Go 中的新后备数组中?

为什么在单独的 go routine 中需要 wg.Wait() 和 close() ?

为什么时间很短.睡眠时间比基准测试中要求的(约 300 ns)长?

分配空切片而不引用其类型?

Golang:每个键具有多个值的映射