登录
首页 >  Golang >  Go问答

将自定义类型转换为基本类型指针

来源:stackoverflow

时间:2024-02-05 11:08:14 107浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《将自定义类型转换为基本类型指针》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

假设我有这样的代码:

type CustomStringType string

var a *CustomStringType

x := CustomStringType("sample string")
a = &x


var b *string

我无法修改上面代码中的任何内容。

现在我想将 a 分配给 b

我尝试了多种方法,例如:

b = a
b = string(a)
b = a.(string)
b = a.(*string)

但它们都没有真正起作用。


正确答案


使用简单类型转换

b = (*string)(a)

由于您要转换的类型以 * 运算符开头,因此必须将其放在括号中以避免歧义(例如,您要转换为 *string,而不是 string 并取消引用结果)。

(*string)(a) 是一个有效的转换,因为您想要将值从类型 *CustomStringType 转换为 *string,并且规范允许使用以下规则进行此类转换:

*CustomStringType*string 都是未命名指针类型,并且都以 string 作为其指针基类型。

今天关于《将自定义类型转换为基本类型指针》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

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