package strconv
import "strconv"
strconv包实现了基本数据类型和其字符串表示的相互转换。
之前写惯了C++,to_string()之类的写惯了,现在换成golang了好几次直接顺手atoi然后报错。不习惯规不习惯,总的来说把方法放到包里这个想法还是很ok的。
strconv.Itoa()和strconv.Atoi()
Itoa实现了int类型转string,Atoi实现了string类型转int。下面是源码,实现比较简单,但是有很多错误处理,这也是必须的。
func Itoa(i int) string {
return FormatInt(int64(i), 10)
}
func Atoi(s string) (int, error) {
const fnAtoi = "Atoi"
sLen := len(s)
if intSize == 32 && (0 < sLen && sLen < 10) ||
intSize == 64 && (0 < sLen && sLen < 19) {
// Fast path for small integers that fit int type.
s0 := s
if s[0] == '-' || s[0] == '+' {