package main
import "fmt"
func FmtNum(val interface{}) string {
return fmt.Sprintf("%d", val)
}
func main() {
a := "woqoo"
fmt_a := FmtNum(a)
fmt.Println(fmt_a)
b := 10
fmt_b := FmtNum(b)
fmt.Println(fmt_b)
c := 10.1
fmt_c := FmtNum(c)
fmt.Println(fmt_c)
}
return fmt.Sprintf("%d", val)
这一行存在byted format value type inconsistent
的问题
运行以上代码的结果:
可以看到只有向FmtNum函数传入整形时才可以正常格式化,也就是说使用fmt.Println函数时,format必须和后面的值类型匹配。
所以这个FmtNum函数写的让人摸不着头脑
目的是将整形转为string,那么可以直接使用strconv.Ito函数
num := 123
str := strconv.Itoa(num)
fmt.Println(str)