Go语言入门总结(二)- 基本类型

类型

1.实数

浮点型
声明方式有三种

floatNum := 3.1415  //简单赋值方式
var floatNum = 3.1415 //对于浮点型,go会默认设置为float64
var floatNum float64 = 3.1415 //显示声明类型

默认情况下go声明浮点型变量都是float64双精度浮点型,比float32单精度浮点型精度要高,但是同样内存占用也更高。
如果要声明为单精度浮点型,需要显式声明类型。

浮点类型的打印

num := 1.0 / 3
fmt.Println(num)//打印结果0.3333333333333333
fmt.Printf("%v\n",num) //打印结果0.3333333333333333
fmt.Printf("%f\n",num)//打印结果0.333333
fmt.Printf("%.3f\n",num)//打印结果0.33

2.整数

整数中分为有符号型和无符号型
分别表示为int8,uint8,int16,uint16,int32,uint32,int64,uint64,int

big包
(1)存储大整数的big.Int.
(2)存储任意精度浮点数的big.Float
(3)存储诸如1/3的分数big.Rat

3.文本

string类型文本
其中只有一点需要注意的是以下这种形式的输出,在java中是没有的

func main() {
    fmt.Println(`
这一段
是会按原始格式
输出的`)
}

rune和byte
其中rune和int32类型完全互换,byte和uint8可以完全互换,并且具有相同的表现。rune相当于java中的char。
可以理解为是int32和byte的别名。
但是rune主要用来表示字符代码,byte用来表示二进制数之类的,语义更为明显一点。

4.零值

每种类型都有相应的默认值,我们称之为零值。

var num float64 //打印结果为0  相当于 num :=0.0

5.数字类转换

go语言中不同的数字类型不能相互运算,所以使用之前必须得进行类型转换才能一起运算。
例子:

func main() {
    a := "这段文本共"
    b := 7
    c := string('字')
    fmt.Println(a + strconv.Itoa(b) + c) //其中将整数转换为ASCII码需要使用strconv.Itoa函数进行转码
    //或者使用fmt.Sprintf对数据进行格式化
    d := fmt.Sprintf(a + "%v" + c,b)
    fmt.Println(d)

        //2次打印都会输出以下内容
        //这段文本共7字
}

你可能感兴趣的:(Go语言入门总结(二)- 基本类型)