參考:https://my.oschina.net/tianyiweimo/blog/63165
發(fā)現(xiàn)go語言內(nèi)置的數(shù)字轉字符串較為復雜,需要使用strconv的庫,特別是float轉字符串??梢詥为殞懸粋€文件處理數(shù)字轉字符串,便于調用。
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ù)調用很簡單,和同一文件下的調用沒啥區(qū)別。下面的代碼是在寫文件中的調用了數(shù)字轉字符串中的方法。
// 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"))
}
}