每天2分钟学习GO语言编程四基础知识

这一期分享一下GO语言的数据类型,这一期先介绍基础类型,分为以下几个部分:

整型

布尔

浮点型

复数型

字符串

unicode字符型

一、整型

整数型是最常见,最常用的。类型有:

int8,int16,int,int32,int64有符号,占内存字节数:1,2,4,4,8

uint8,uint16,uint,uint32,uint64无符号,占内存字节数:1,2,4,4,8

uintptr指针整型同uint64,占内存字节数:8

取值范围看下面的例子,可以直接使用math包中的最大最小值,进行查看:

  println("MaxInt8:",math.MaxInt8)    println("MaxInt16:",math.MaxInt16)    println("MaxInt:",math.MaxInt)    println("MaxInt32:",math.MaxInt32)    println("MaxInt64:",math.MaxInt64)    println("MaxUint8:",math.MaxUint8)    println("MaxUint16:",math.MaxUint16)    println("MaxUint:",math.MaxUint)    println("MaxUint32:",math.MaxUint32)    println("MaxUint64:",math.MaxUint64)    println("MaxInt8:",math.MinInt8)    println("MaxInt16:",math.MinInt16)    println("MaxInt:",math.MinInt)    println("MaxInt32:",math.MinInt32)    println("MaxInt64:",math.MinInt64)    println("MinUint8:",math.MinUint8)    println("MinUint16:",math.MinUint16)    println("MinUint:",math.MinUint)    println("MinUint32:",math.MinUint32)    println("MinUint64:",math.MinUint64)

GO语言中不会像C/C++语言那样自动帮你类型转换,在GO中你必须显式的进行类型强制转换才行。这样从某一角度来看相对还安全了一些。最起码当你类型强转时你自己是知道的。而C/C++的是隐式的,容易忽略。

整型的加减乘除四则运算就不详细说了,要提一下除,整型相除会舍弃余数这点要注意。另一个要说的是求余数%操作。求余数这个操作挺常用,比如想把1-分别放入10个数组中,那么就可以把1-分别进行对10求余,余数就是第几个数组,向里放就行了。

再提一下整型的位移:

左移,如12

右移,如12

^异或,如1^2

与,如12

或,如1

2

^n取反,如^2

二、布尔

布尔型:bool,取值只有true和false两个。初始化可以直接使用true或者false初始化,也可以使用表达式:b:=(1==1),以这样的方式来初始化。

三、浮点型

分为float32和float64,占内存分别为4和8。浮点型在做等于比较时较为特殊,因为浮点数精度问题使用特殊手段来处理:

packagemainimport"math"constminFloat=0.funcfloat32Equal(f1,f2float32)bool{  turnmath.Abs(float64(f1-f2))minFloat}

就是取两者相减绝对值与最小精度值去比。

四、复数型

复数分为


转载请注明:http://www.aierlanlan.com/rzdk/6902.html