go語言中strconv
包實現了基本資料型別和其字串表示的相互轉換。
更多函式請檢視官方文件。
這一組函式是我們平時程式設計中用的最多的。
將字串型別的整數轉換為int型別。
func atoi(s string) (i int, err error)
如果傳入的字串引數無法轉換為int型別,就會返回錯誤。
s1 := "100"
i1, err :=strconv.atoi(s1)
if err !=nil
else
將int型別資料轉換為對應的字串表示。
func itoa(i int) string
示例**如下:
i2 := 200s2 :=strconv.itoa(i2)
fmt.printf(
"type:%t value:%#v\n
", s2, s2) //
type:string value:"200"
【擴充套件閱讀】這是c語言遺留下的典故。
c語言中沒有string型別而是用字元陣列(array)表示字串,所以itoa
對很多c系的程式設計師很好理解。
parse類函式用於轉換字串為給定型別的值:parsebool()、parsefloat()、parseint()、parseuint()。
func parsebool(str string) (value bool, err error)
返回字串表示的bool值。它接受1、0、t、f、t、f、true、false、true、false、true、false;否則返回錯誤。
func parseint(s string, baseint, bitsize int) (i int64, err error)
返回字串表示的整數值,接受正負號。
base指定進製(2到36),如果base為0,則會從字串前置判斷,」0x」是16進製制,」0」是8進製,否則是10進製;
bitsize指定結果必須能無溢位賦值的整數型別,0、8、16、32、64 分別代表 int、int8、int16、int32、int64;
返回的err是*numerr型別的,如果語法有誤,err.error = errsyntax;如果結果超出型別範圍err.error = errrange。
func parseuint(s string, baseint, bitsize int) (n uint64, err error)
parseuint
類似parseint
但不接受正負號,用於無符號整型。
func parsefloat(s string, bitsize int) (f float64, err error)
解析乙個表示浮點數的字串並返回其值。
如果s合乎語法規則,函式會返回最為接近s表示值的乙個浮點數(使用ieee754規範捨入)。
bitsize指定了期望的接收型別,32是float32(返回值可以不改變精確值的賦值給float32),64是float64;
返回值err是*numerr型別的,語法有誤的,err.error=errsyntax;結果超出表示範圍的,返回值f為±inf,err.error= errrange。
b, err := strconv.parsebool("true")
f, err := strconv.parsefloat("
3.1415
", 64
)i, err := strconv.parseint("
-2", 10, 64
)u, err := strconv.parseuint("
2", 10, 64)
這些函式都有兩個返回值,第乙個返回值是轉換後的值,第二個返回值為轉化失敗的錯誤資訊。
format系列函式實現了將給定型別資料格式化為string型別資料的功能。
func formatbool(b bool) string
根據b的值返回」true」或」false」。
func formatint(i int64, baseint) string
返回i的base進製的字串表示。base 必須在2到36之間,結果中會使用小寫字母』a』到』z』表示大於10的數字。
func formatuint(i uint64, baseint) string
是formatint的無符號整數版本。
func formatfloat(f float64, fmt byte, prec, bitsize int) string
函式將浮點數表示為字串並返回。
fmt表示格式:』f』(-ddd.dddd)、』b』(-ddddp±ddd,指數為二進位制)、』e』(-d.dddde±dd,十進位制指數)、』e』(-d.dddde±dd,十進位制指數)、』g』(指數很大時用』e』格式,否則』f』格式)、』g』(指數很大時用』e』格式,否則』f』格式)。
prec控制精度(排除指數部分):對』f』、』e』、』e』,它表示小數點後的數字個數;對』g』、』g』,它控制總的數字個數。如果prec 為-1,則代表使用最少數量的、但又必需的數字來表示f。
s1 := strconv.formatbool(true)s2 := strconv.formatfloat(3.1415, '
e', -1, 64
)s3 := strconv.formatint(-2, 16
)s4 := strconv.formatuint(2, 16)
func isprint(r rune) bool
返回乙個字元是否是可列印的,和unicode.isprint
一樣,r必須是:字母(廣義)、數字、標點、符號、ascii空格。
func canbackquote(s string) bool
返回字串s是否可以不被修改的表示為乙個單行的、沒有空格和tab之外控制字元的反引號字串。
posted @
2019-05-30 21:14
aaronthon 閱讀(
...)
編輯收藏
Go語言標準庫之strconv
目錄三 parse系列函式 四 format系列函式 五 其他 go 從入門到放棄完整教程目錄 更有python go pytorch tensorflow 爬蟲 人工智慧教學等著你 更新 更全的 go從入門到放棄 的更新 更有python go 人工智慧教學等著你 go語言中strconv包實現了...
Go語言標準庫之strconv
go語言中strconv包實現了基本資料型別和其字串表示的相互轉換。更多函式請檢視官方文件。這一組函式是我們平時程式設計中用的最多的。atoi 函式用於將字串型別的整數轉換為int型別,函式簽名如下。func atoi s string i int,err error 如果傳入的字串引數無法轉換為i...
Go語言系列之標準庫strconv
go語言中strconv包實現了基本資料型別和其字串表示的相互轉換。更多函式請檢視官方文件。這一組函式是我們平時程式設計中用的最多的。atoi atoi 函式用於將字串型別的整數轉換為int型別,函式簽名如下。func atoi s string i int,err error 如果傳入的字串引數無...