Go day two

package main

import (

"fmt"

"math"

"testing"

)

/**

1、浮点类型float64,声明的三种方式,go带小数的默认设置为float64

2、单精度浮点数float32,必须显式声明

3、每种类型的默认值称为零值

4、0.0等价0

*/

func Test(t *testing.T) {

num1 :=3.444

  var num2 =3.444

  var num3float64 =3.444

  fmt.Println(num1, num2, num3)

var num4float32 =3.5555

  fmt.Println(num4)

var num5float64

  fmt.Println(num5)

num6 :=0.0

  fmt.Println(num6)

var num7float32

  fmt.Println(num7)

}

/**

1、不能直接比较浮点数

2、go有15种数值类型

*/

func Test2(t *testing.T) {

num1 :=0.1

  num2 :=0.2

  fmt.Println(num1+num2 ==0.3)

fmt.Println(math.Abs(num1+num2-0.3) <0.0001)

}



/**

1、默认是int类型

2、int有正负,uint只有正

3、int8、uint8、int16、uint16、int32、uint32、int64、uint64

4、int和uint会根据目标硬件选择最合适的位长

5、%T打印类型,%v代表格式化变量

6、十六进制用哪个%x

7、当出现超过整数类型的取值范围时,就会出现整数回绕现象

8、%b打印出二进制格式相应的整数值

*/

func Test3(t *testing.T) {

num :=1

  var num0 =1

  var num1int =1

  fmt.Println(num, num0, num1)

var red, green, blueuint8 =0x00, 0x8d, 0xd5

  fmt.Println(red, green, blue)

fmt.Printf("%x,%x,%x", red, green, blue)

}

你可能感兴趣的:(Go day two)