Golang - 數(shù)字轉(zhuǎn)字符串

參考:https://my.oschina.net/tianyiweimo/blog/63165

發(fā)現(xiàn)go語(yǔ)言內(nèi)置的數(shù)字轉(zhuǎn)字符串較為復(fù)雜,需要使用strconv的庫(kù),特別是float轉(zhuǎn)字符串。可以單獨(dú)寫(xiě)一個(gè)文件處理數(shù)字轉(zhuǎn)字符串,便于調(diào)用。

package main

import (
    "strconv"
)

func toString(a interface{}) string {
    if v, p := a.(int); p {
        return strconv.Itoa(v)
    }
    if v, p := a.(int16); p {
        return strconv.Itoa(int(v))
    }
    if v, p := a.(int32); p {
        return strconv.Itoa(int(v))
    }
    if v, p := a.(uint); p {
        return strconv.Itoa(int(v))
    }
    if v, p := a.(float32); p {
        return strconv.FormatFloat(float64(v), 'f', -1, 32)
    }
    if v, p := a.(float64); p {
        return strconv.FormatFloat(v, 'f', -1, 32)
    }
    return "change to String error"
}

同一工程下不同文件中的函數(shù)調(diào)用很簡(jiǎn)單,和同一文件下的調(diào)用沒(méi)啥區(qū)別。下面的代碼是在寫(xiě)文件中的調(diào)用了數(shù)字轉(zhuǎn)字符串中的方法。

// FileRW project main.go
package main

import (
    "fmt"
    "os"
)

func main() {
    userFile := "test.txt"
    fout, err := os.Create(userFile)
    defer fout.Close()
    if err != nil {
        fmt.Println(userFile, err)
        return
    }
    for i := 0; i < 10; i++ {
        fout.WriteString("Just " + toString(i) + " test!\r\n")
        fout.Write([]byte("Just " + toString(i) + " test!\r\n"))
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容