LiteIDE 开发工具指南 (Go语言开发工具)(5)

在Go语言中,类型特指一系列的值和操作。Go语言的类型起到的作用与众所周知的面向对象的设计语言(Java、C++)有很大的不同,它没有所谓的层次划分、没有类的概念也不存在继承。类型是可以被推断出来的,如:Go使用鸭子类型

你可以用一个立即数(literal )或指定的类型来定义一个类型变量,以达到类型重用的目的。

自定义类型是由一些小的数据类型整合而成的,如数组、结构体、指针、很熟、接口、片、map和channel。

定义类型的方法:

type 类型名 数据类型

例:

type myint int

定义myint为一个整型类型。如果你想创建一个扩展类型,重新定义之前声明过的类型的数据类型也很常用,实现的函数和方法我们之后再讲。

更为通常的做法,你可以使用某些数据类型组成你自定义的类型:

type point struct {
x, y int
}

这就是一个新的类型结构。

你也可以声明数组类型:

type myarray [20]int

你可以在定义类型时使用自定义类型:

type point struct {
x, y int
}
type arrayPoints [10]point

这就创建了一个point类型的数组。

你可以自行探索其他的类型定义方式。接下来我们要做的是理解Go能用这些类型完成什么工作?

类型主要被用于下面两个方面:

类型检测

创建值

类型检测很常见——你只能赋予你定义的变量与之相同类型的值。在编译时编译器会依此对静态类型进行检查。

例:

var c myint
c = "string"

上面的代码编译将不会通过。但下面的代码:

var c myint
c = 1

将会通过编译。因为“c”和“1”都是整型数据。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fc20054b36664376d47aace3fd388faa.html