登录
首页 >  Golang >  Go问答

将将指定数据类型分配给文本数据类型

来源:stackoverflow

时间:2024-03-20 22:21:22 496浏览 收藏

在 Go 语言中,将指定数据类型分配给文本数据类型时,需要进行类型转换。当尝试将 uint64 值分配给命名类型 mytype(基础类型为 uint64)的变量时,编译器会报错,因为它认为这两种类型不同。正确的做法是使用类型转换,将 uint64 值转换为 mytype 类型,例如:x = mytype(rand.Uint64())。

问题内容

这里是新手。我正在尝试将 uint64 值分配给具有基础类型 unit64 的命名类型的变量。编译器很不高兴,看不到这两种类型完全相同。正确的做法是什么?

package main

import "fmt"
import "math/rand"

type mytype uint64

var x mytype


func main() {
    x = rand.uint64()
    fmt.println(x)
}

这会引发编译器错误:

./prog.go:12:4: cannot use rand.Uint64() (type uint64) as type myType in assignment

解决方案


您可以将其转换为myType(rand.Uint64())。有用的链接:Type Assertion in GoType Conversion in Go 以及堆栈溢出问题 "How to cast to a type alias in go" 中的出色答案

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《将将指定数据类型分配给文本数据类型》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>