前文再续,Go lang和Python一样,基础数据类型有着很多分类,分门别类,一应俱全。它们对应着不同的使用场景,分别是:整形、浮点、字符、字符串、布尔等等。常用的基本数据类型经常会参与日常业务逻辑的运算、判断以及输入输出操作。
整形 int
整形顾名思义,就是存储的数据类型是整数,Go lang中分为有符号和无符号,简单理解就是存储范围上的差异:
有符号整型:int8、int16、int32、int64、int。
无符号整型:uint8、uint16、uint32、uint64、uint。
程序返回:
这里我们使用fmt.Printf将对应的整形数据类型打印出来,和Println不同的是,Printf可以使用通配符将变量嵌入到打印语句中,但也需要注意类型的一致性:
一般情况下,在32位系统下是采用32位整形, 64 位系统下则是64位整形。
浮点 float
浮点型表示存储的数据是实数,比如 3.1415926。
程序返回:
我们还可以针对浮点进行保留小数操作,比如百分位展示:
程序返回:
字符 byte/rune
组成字符串的每一个元素叫做字符:
系统输出:
一望而知,byte 类型只能表示 28个值,所以你想表示其他一些值,例如中文的话,就得使用 rune 类型。
字符串 string
字符串几乎是最常用的数据类型之一,使用起来也很方便:
有些字符串没有现成的文字代号,所以只能用转义字符来表示,比如这里的\t。
布尔 bool
布尔通常情况下表示真或者假,通常出现在条件语句中:
程序返回:
在Python中,布尔数据类型可以参与数值运算,也可以与其他类型进行转换。但是在 Go 中,真值是用 true 表示,并且 不与 1 相等;同样地,假值是用 false 表示,并且不与 0 相等,使用上相对严格,没有Python那么挥洒自如。
数据运算
常见的数学运算符:
常见的比较运算符:
逻辑运算符:
以及位运算:
最后是赋值运算符:
和Python如出一辙,Golang在数据运算方面的设计相对克制,不像Ruby,语法糖如繁星满天,数不数胜。
基本数据的输入输出
Go lang可以捕获到用户在终端的数据输入:
终端运行:
藉此,我们就可以完成一个小型的计算器应用了:
终端运行:
然后通过之前提到过的编译命令,直接打包成应用程序:
非常方便。
结语
基础数据类型是代码逻辑的最小单位,它将作为元素,存储在之后的复合数据类型中,同时,也会参与到分支、循环、判断等逻辑中。通晓基础数据类型,有助于加强我们对golang基础语法和设计理念的进一步认识和反思。