在DB中,我有一个类型为int64
的字段,其中存储了unix时间戳。然后我想将其作为普通的datetime
字符串呈现给用户。但是,它会失败。这是一个简单的例子。
package main
import (
"fmt"
"strconv"
)
func main() {
var a int64
a = 1658545089
tm, err := strconv.ParseInt(string(a), 10, 64)
if err != nil {
panic(err)
}
fmt.Println(tm)
}
===
panic: strconv.ParseInt: parsing "�": invalid syntax
这是怎么回事?
这是因为您正在尝试使用字符串转换int64尝试使用strconn. FormatInt(a,10)
package main
import (
"fmt"
"strconv"
)
func main() {
var a int64
a = 1658545089
tm, err := strconv.ParseInt(strconv.FormatInt(a, 10), 10, 64)
if err != nil {
panic(err)
}
fmt.Println(tm)
}
当你试图用string()转换一个interger覆盖时,在Go语言中它会得到相应的ascii字符https://en.cppreference.com/w/cpp/language/ascii
经过一定的时间后,它只会显示