Go 資料型別轉換
阿新 • • 發佈:2020-12-15
技術標籤:Go語言基礎入門
簡單的轉換操作
//a是浮點型
a := 5.0
// 轉換為int型別
b := int(a)
c := int32(a)
d := int64(a)
注意
- Go允許在底層結構相同的兩個型別之間互轉
- 低精度轉換為高精度時是安全的,高精度的值轉換為低精度時會丟失精度
- 這種簡單的轉換方式不能對int(float)和string進行互轉
strconv包
Atoi()和Itoa()
// Atoi(): string -> int
i,_ := strconv.Atoi("3")
println(3 + i) // 6
//Itoa():int -> string
var number = 10
itoa := strconv.Itoa(number)
logs.Info(itoa)
string轉int等
//string 轉 int
var str string ="1"
i, _ := strconv.Atoi(str)
logs.Info(i)
//string 轉 int64
i64, _ := strconv.ParseInt(str, 10, 64)
logs.Info(i64)
//string 轉 byte
bytes := []byte(str)
logs.Info(bytes)
int轉string等
//int轉string
var number=10
itoa := strconv.Itoa(number)
logs.Info(itoa)
//int64轉string
var numbers int64=50
formatInt := strconv.FormatInt(numbers, 10)
logs.Info(formatInt)
Parse類函式
Parse類函式用於轉換字串為給定型別的值:ParseBool()、ParseFloat()、ParseInt()、ParseUint()。
== ParseFloat()只能接收float64型別的浮點數。==
b, err := strconv.ParseBool ("true")
f, err := strconv.ParseFloat("3.1415", 64)
i, err := strconv.ParseInt("-42", 10, 64)
u, err := strconv.ParseUint("42", 10, 64)
Format類函式
將給定型別格式化為string型別:FormatBool()、FormatFloat()、FormatInt()、FormatUint()。
s := strconv.FormatBool(true)
s := strconv.FormatFloat(3.1415, 'E', -1, 64)
s := strconv.FormatInt(-42, 16)
s := strconv.FormatUint(42, 16)