上一章我们使用了字符串(string)数据类型来存储Hello World。数据类型将一组相关的值分类,为对这些值的操作进行一系列的描述,并且定义如何存储这些值。由于数据类型的概念并不容易理解,我们来看两个比喻,以助于我们了解如何在Go语言里实现类型。
有时候,哲学家可以区分类型与标识。打个比方,假设你有一只叫Max的狗。Max是个标识(一个特定的实例或成员)而狗是类型(一般性概念)。“狗”这个概念用来描述一组所有狗都共有的属性。举个简化的例子:狗有四条腿,Max是狗,所以Max有四条腿。编程语言中的类型也类似这样:所有的字符串(string)都有长度、x是个字符串,所以x有长度。
我们在数学里经常提到集合,比方说:R(所以实数的集合)或N(所有自然数的集合)。集合中每一个成员都跟其他所有成员共享同样的属性。例如所有的自然数都是这样相关联的:“对于自然数a、b和c,a+(b+c)=(a+b)+c,并且ax(bxc)=(axb)xc。”在这种形式下,集合就像编程语言中的类型,因为同一 类型下的所有取值都有相同的属性。
Go是一种静态类型编程语言。这意味着,变量总有一个特定的类型,而且这个类型不能被改变。静态类型看起来比较笨拙,你会花大量时间修复你的程序,直到最终成功通过编译为止。但类型帮助我们更明确我们的程序正在做什么,并且大范围地捕捉一般性的错误。
Go语言内置了许多数据类型,我们现在就来更详细地看看。
原文地址:http://www.zingscript.com/translate/golang-book