美文网首页程序员
如果Go语言中两个拥有不同标的类型(underlying typ

如果Go语言中两个拥有不同标的类型(underlying typ

作者: golang推广大使 | 来源:发表于2019-03-11 21:58 被阅读0次

当他们的标的类型(underlying type) 共享同一个标的类型的时候,他们就可以相互转换。

例如:

package main

type MyInt int64
type Ta    *int64
type Tb    *MyInt

func main() {
    var a Ta
    var b Tb

    //a = Ta(b) // error: direct conversion is not allowed

    // But indirect conversion is possible.
    y := (*MyInt)(b)
    x := (*int64)(y)
    a = x           // <=> the next line
    a = (*int64)(y) // <=> the next line
    a = (*int64)((*MyInt)(b))
    _ = a
}

相关文章

  • 如果Go语言中两个拥有不同标的类型(underlying typ

    当他们的标的类型(underlying type) 共享同一个标的类型的时候,他们就可以相互转换。 例如:

  • Go Type

    Go语言中type关键字用于定义类型,因此又称为类型别名。 Go语言中的type并不对应着C/C++语言中的typ...

  • 03-数据类型转换

    数值类型转换 C语言中存在显式转换和隐式转换 Go语言中只有显式转换 Go语言中数值类型转换注意点 数值类型转换为...

  • Go语言中new和make的区别

    转载自Go语言中new和make的区别 Go语言中new和make是内建的两个函数,主要用来创建分配类型内存。在我...

  • go学习笔记(二)——基本数据类型

    数据类型 1.基本类型 go语言中的基本类型如上图所示,go语言中有五类基数类型。 1) boolean型 同其他...

  • Go语言中的字符和字符串

    Go语言中的字符 在Go语言中,没有字符类型,字符类型是rune类型,rune是int32的别称。 下面用一个简单...

  • Go语言入门指南系列之《2基础类型》

    Go 语言中的基础类型   在 Go 编程语言中,数据类型用于声明函数和属性。数据类型的出现时为了把数据分成所需要...

  • 【Golang 基础】Go 语言中的基本类型

    Go 语言中的基础类型   在 Go 编程语言中,数据类型用于声明函数和属性。数据类型的出现时为了把数据分成所需要...

  • GO入门(四)字符串

    在go语言中,字符串也是一种基本的数据类型。字符串的内容可以用类似于数组下标的方式来获取,但是与数组不同,字符串的...

  • 61. HTTP处理类型自定义ServeHTTP方法

    在 go 语言中,我们可以给类型增加自定义的方法。下面实验增加ServeHTTP方法。首先建立两个类型 给类型增加...

网友评论

    本文标题:如果Go语言中两个拥有不同标的类型(underlying typ

    本文链接:https://www.haomeiwen.com/subject/qxbipqtx.html