目錄
一、強制型別轉換
二、 strconv包:字串和數值型別的相互轉換
1. itoa():整型轉字串 integer to alphanumeric
2. atoi():字串轉整型 alphanumeric to integer
3. parse 系列函式(str轉其他): parsebool()、parseint()、parseuint()、parsefloat()
4.format 系列函式(其他轉str): formatbool()、formatint()、formatuint()、formatfloat()
類似於其他語言,go語言也支援強制型別轉換:
但是只有相同底層型別的變數之間可以進行相互轉換(如將 int16 和 int32 相互轉換,float 型別和 int 型別相互轉換),不同底層型別的變數相互轉換時會引發編譯錯誤(如 bool 型別和 int 型別,string 與 int 型別之間的轉換):
如果需要string、int、int64、float 等資料型別之間的轉換功能,可以使用標準包中的 strconv 包。
函式原型:func itoa(i int) string 輸入int,輸出string
package main
import (
"fmt"
"strconv")
func main()
//輸出:
//type:string value:"100"
函式原型:func atoi(s string) (i int, err error)輸入string,輸出int 和 錯誤資訊
package main
import (
"fmt"
"strconv")
func main() else
num2, err := strconv.atoi(str2)
if err != nil else }
//輸出:
//type:int value:110
//s100 轉換失敗!
(1)parsebool()它只能接受 1、0、t、f、t、f、true、false、true、false、true、false,其它的值均返回錯誤。
函式原型:func parsebool(str string) (value bool, err error)
package main
import (
"fmt"
"strconv")
func main() else
str2 := "t"
boo2, err := strconv.parsebool(str2)
if err != nil else }
//輸出:
//str1: strconv.parsebool: parsing "110": invalid syntax
//true
(2)parseint()函式用於返回字串表示的整數值(可以包含正負號)。函式原型:func parseint(s string, base int, bitsize int) (i int64, err error)
引數說明:
package main
import (
"fmt"
"strconv")
func main() else }
//輸出:
//-11
(3)parseuint()函式用於返回字串表示的整數值,但 parseuint() 函式不接受正負號,用於無符號整型。函式原型:func parseuint(s string, base int, bitsize int) (n uint64, err error)
引數說明:(同parseint())
package main
import (
"fmt"
"strconv")
func main() else }
//輸出:
//11
(4)parsefloat()函式用於將乙個表示浮點數的字串轉換為 float 型別。
函式原型:func parsefloat(s string, bitsize int) (f float64, err error)
引數說明:
package main
import (
"fmt"
"strconv")
func main() else }
//輸出:
(1)formatbool()函式可以將乙個 bool 型別的值轉換為對應的字串型別。
函式原型:func formatbool(b bool) string
package main
import (
"fmt"
"strconv")
func main()
//輸出:
//type:string,value:true
(2)formatint()函式用於將整型資料轉換成指定進製並以字串的形式返回。
函式原型:func formatint(i int64, base int) string
引數說明:
package main
import (
"fmt"
"strconv")
func main()
//輸出:
//type:string,value:64
(3)formatuint()函式用於將無符號的整型資料轉換成指定進製並以字串的形式返回。
函式原型:func formatuint(i uint64, base int) string
引數說明:
package main
import (
"fmt"
"strconv")
func main()
//輸出:
//type:string,value:6e
(4)formatfloat()函式用於將浮點數轉換為字串型別並以字串的形式返回。
函式原型:func formatfloat(f float64, fmt byte, prec, bitsize int) string
引數說明:
package main
import (
"fmt"
"strconv")
func main()
//輸出:
//type:string,value:3.1415926e+00
函式原型:
func formatbool(slice string, b bool) string
func formatint(slice string, i int64, base int) sting
func formatuint(slice string, i uint64, base int) string
func formatfloat(slice string, f float64, fmt byte, prec, bitsize int) string
package main
import (
"fmt"
"strconv")
func main()
//輸出:
//int (base 10):-42
//int (base 16):-2a
golang 資料型別之間的轉換
一 基本資料型別之間的轉換 1 string到int int,err strconv.atoi string 2 string到int64 int64,err strconv.parseint string,10,64 3 int到string string strconv.itoa int 4 i...
Golang 資料型別
注釋 行注釋 塊注釋 識別符號 除了數字開頭的不允許,符號開頭的不允許,關鍵字不允許,其他的unicode字元組合都可以。33 也可以是識別符號,我們 也可以是識別符號。識別符號也區分大小寫。以大寫字母開頭的識別符號是公開的。其他任何識別符號都是私有的。空識別符號 是乙個佔位符,用於賦值操作的時候,...
Golang資料型別
二 布林型 三 字串 數字 字串和布林型。布林型的值只可以是常量 true 或者 false。數字型別支援整型和浮點型,並且支援複數,其中位的運算採用補碼。復合資料型別包括 陣列 結構體是通過組合簡單型別,來表達更加複雜的資料結構。引用型別包括 指標 slice map channel 介面和函式型...