登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-03-16 19:48:24 393浏览 收藏

在 Go 语言中,将类型转换为其基础类型时,会应用特定的规则。当对象 `source` 的类型 `SomeType` 是字符串类型的别名时,可以将 `source` 转换为基础类型 `string`。此转换遵循 Go 规范中的规则,即当转换涉及非常量时,如果目标类型 `T` 与源类型 `V` 具有相同的底层类型,且至少一个类型不是定义类型,则转换是有效的。

问题内容

在将一个对象(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 规范中的哪条规则来转换为基础类型?


正确答案


如果您阅读了 conversions,您就会看到非常量转化的规则。第一个适用:

并链接到 assignability 部分。反过来,相关位是:

本篇关于《类型转换规则 - 将类型转换为其基础类型》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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