上節當中有稍微介紹數值類型,今天我們就來試著使用
當沒有宣告類型時,golang 預設為 int64
package main
import (
"fmt"
"unsafe"
)
func main() {
//int uint rune byte的使用
var a int = 1000
fmt.Println(a)
var b uint = 1
var c byte = 255
fmt.Println(b, c)
var n1 int = 100
fmt.Printf("n1 的類型 %T 佔用位元組(byte)為 %d", n1, unsafe.Sizeof(n1))
var n2 = 156
fmt.Printf("n2 的當沒設定整數類型時在 golang 預設是%T", n2 )
}
當沒有宣告類型時,golang 預設為 float64
也支持科學記號表示方式
float64 比 float32 更為精準
package main
import "fmt"
func main() {
var price float32 = 89.12
fmt.Println(price)
//float32 範圍為- 3.403E38 ~ 3.403E38
var num1 float32 = -123.000000901
var num2 float64 = -123.000000901
//輸出結果 num1 精度損失
//可得知float64 比 float32 更為精準
fmt.Println(num1, num2)
//在golang 當中默認float64
var num3 = 1.1
fmt.Printf("num3的當沒設定浮點數類型時在 golang 預設是%T\n", num3)
num4 := 5.12
num5 := .123 //相當於0.123
fmt.Println(num4, num5)
//也支持科學記號
num6 := 5.1234e2
num7 := 5.1234E2
num8 := 5.1234E-2
fmt.Println(num6, num7, num8)
}