這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
strconv是golang用來做資料類型轉換的一個庫。
介紹下strconv最常用的兩個方法, 雖然沒有解釋語言那麼自在可以str(int),int(string), 那還算簡練。
該文章寫的有些亂,歡迎來噴 ! 另外文章後續不斷更新中,請到原文地址查看更新。
http://xiaorui.cc/2016/03/08/golang-strconv%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2%E7%9A%84%E7%94%A8%E6%B3%95/
Python#xiaorui.ccAtoi (string to int)func Atoi(s string) (i int, err error)Itoa (int to string)func Itoa(i int) string
123456789 |
#xiaorui.ccAtoi (string to int) func Atoi(s string) (i int, err error) Itoa (int to string) func Itoa(i int) string |
Atoi Itoa的使用例子:
Pythoni, err := strconv.Atoi("-42")s := strconv.Itoa(-42)
123 |
i, err := strconv.Atoi("-42")s := strconv.Itoa(-42) |
下面是完整的例子:
Pythonpackage main//xiaorui.cc import ( "strconv")func main() { i, err := strconv.Atoi("8888") if err != nil { panic(err) } i += 3 println(i) s := strconv.Itoa(333) s += "3" println(s)}
12345678910111213141516171819 |
package main//xiaorui.cc import ( "strconv") func main() { i, err := strconv.Atoi("8888") if err != nil { panic(err) } i += 3 println(i) s := strconv.Itoa(333) s += "3" println(s)} |
strconv不只是可以字串跟int之間的轉換類型,其實還有更多方法.
Format xxx 轉成string字串
PythonFormatBoolfunc FormatBool(b bool) stringFormatFloatfunc FormatFloat(f float64, fmt byte, prec, bitSize int) stringFormatIntfunc FormatInt(i int64, base int) stringFormatUintfunc FormatUint(i uint64, base int) string
123456789101112 |
FormatBoolfunc FormatBool(b bool) string FormatFloatfunc FormatFloat(f float64, fmt byte, prec, bitSize int) string FormatIntfunc FormatInt(i int64, base int) string FormatUintfunc FormatUint(i uint64, base int) string |
FormatInt的例子:
result := strconv.FormatInt(int64(value), 10)
Parse xxx 是轉成相應的格式
Python轉換成bool類型.b, err := strconv.ParseBool("true")轉換成Float類型f, err := strconv.ParseFloat("3.1415", 64)轉換成int類型i, err := strconv.ParseInt("-42", 10, 64)轉成uint類型u, err := strconv.ParseUint("42", 10, 64)
123456789101112 |
轉換成bool類型.b, err := strconv.ParseBool("true") 轉換成Float類型f, err := strconv.ParseFloat("3.1415", 64) 轉換成int類型i, err := strconv.ParseInt("-42", 10, 64) 轉成uint類型u, err := strconv.ParseUint("42", 10, 64) |
golang的類型轉換沒啥好說的,不清楚的直接看官方文檔。