购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 自定义类型

Go语言与C/C++类似,C++通过typedef关键字自定义类型(别名、定义结构体等),Go语言则通过type关键字自定义类型。

使用type关键字自定义类型的语法格式如下。

    type newType oldType

参数说明如下。

oldType:可以是自定义类型、预声明类型、未命名类型中的任意一种。

newType:新类型。

注意

newType和oldType应当是两个完全不同的类型。

下面通过几个示例演示如何使用type关键字自定义类型。代码如下。

在Go语言中,类型可以分为命名类型和未命名类型。其中:

命名类型使用标识符表示。Go语言允许用户定义类型;当用户声明新类型时,这个声明就给编译器提供一个框架,告知编译器必要的内存大小和表示信息。声明后的类型的使用方式类似于Go语言的内置类型。在上述示例代码中,INT、Map和myMap都是命名类型。

未命名类型是由预声明类型、关键字和操作符组合而成的类型。未命名类型又称为类型字面量(Type Literal)。Go语言的基本类型中的复合类型包括:数组(array)、切片(slice)、字典(map)、通道(channel)、指针(pointer)、函数字面量(function)、结构(struct)和接口(interface),这些类型都是类型字面量,也是未命名类型。 V3hK3HH2UALLGBeMObWHBzbS+PCNJHhUnRNs1JlyqMs4RfyvetzKsyn7rd+X+X8j

点击中间区域
呼出菜单
上一章
目录
下一章
×