脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Golang - Golang自定义类型与类型别名

Golang自定义类型与类型别名

2023-10-22 14:03ThinkStu Golang

本文主要为大家介绍下Golang中自定义类型与类型别名的方法,有需要的朋友可以参考下

type myInt int32 与 type myInt = int32,概念并不相同

  1. 自定义类型:type myInt int32

    通过这种方式定义的类型是一个全新的类型,这个新类型与int32有相同的底层结构,但是却与int32类型不兼容。

    type myInt int32
    
    var a int32 = 5
    var b myInt = a  // 这里会产生编译错误
    

    尽管myInt的底层类型是int32,但它们在类型系统中是不同的。

  2. 类型别名:type myInt = int32

    类型别名则是给现有类型起一个新的名字,新的名字与原始类型在类型系统中是完全相同的。

    type myInt = int32
    
    var a int32 = 5
    var b myInt = a  // 这里不会产生编译错误
    

    这里myInt是int32的别名,所以不会产生任何编译错误。

  3. 总结

    • 自定义类型会创建一个全新的类型,与原始类型在类型系统中是不兼容的。

    • 类型别名则只是给现有类型起一个新名字,与原始类型在类型系统中完全相同。

    • 自定义类型可用于封装或抽象,而类型别名则可以用来确保向后兼容或简化类型名称。

    通过了解这些区别,可以更灵活地使用Go语言的类型系统来满足各种编程需求。

到此这篇关于Golang自定义类型与类型别名的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/qq_35760825/article/details/132282965

延伸 · 阅读

精彩推荐
  • Golanggo Http Post 发送文件流案例

    go Http Post 发送文件流案例

    这篇文章主要介绍了go Http Post 发送文件流案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    中国流浪猫19102021-03-07
  • Golang一文详解Go语言fmt标准库的常用占位符使用

    一文详解Go语言fmt标准库的常用占位符使用

    这篇文章主要为大家详细介绍了Go语言中fmt标准库的常用占位符及其简单使用,文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,需要的可以参考...

    陈明勇10172022-12-24
  • GolangLinux中Go环境配置和GoModule常用操作

    Linux中Go环境配置和GoModule常用操作

    这篇文章主要介绍了Linux中Go环境配置和GoModule,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...

    小紫苏5292022-08-30
  • Golanggo语言实现两个协程交替打印

    go语言实现两个协程交替打印

    这篇文章主要介绍了go语言实现两个协程交替打印,文章主要分享了两种方法使用两个channel和使用一个channel,内容介绍详细具有一定的参考价值,需要的小...

    CJ-cooper6292022-09-09
  • GolangGo 字符串比较的实现示例

    Go 字符串比较的实现示例

    本文主要介绍了Go 字符串比较的实现示例,主要包括三种比较方式,具有一定的参考价值,感兴趣的可以了解一下...

    banjming4582022-09-01
  • GolangGO语言如何手动处理TCP粘包详解

    GO语言如何手动处理TCP粘包详解

    最近在用golang开发人工客服系统的时候碰到了粘包问题,那么什么是粘包呢?下面这篇文章就来给大家介绍了关于GO语言如何手动处理TCP粘包的相关资料,...

    怪咖_OOP4392020-05-12
  • GolangGolang语言JSON解码函数Unmarshal的使用

    Golang语言JSON解码函数Unmarshal的使用

    本文主要介绍了Golang语言JSON解码函数Unmarshal的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    frank.46912022-08-30
  • GolangGo基础编程:结构体

    Go基础编程:结构体

    结构体(struct)是自定义方式形成新的数据类型,结构体是类型中带有成员的复合类型。Go 语言结构体是一种聚合的数据类型,是由零个或多个任意类型的值...

    Go语言中文网5312020-12-02