目录
const
const IntSize = intSize
intSize是int或uint类型的字位数。
func ParseBool
func ParseBool(str string) (value bool, err error)
- 传入表示
bool
的字符串,如:1,0,t - 返回
bool
类型
func ParseInt
func ParseInt(s string, base int, bitSize int) (i int64, err error)
bin23:=strconv.FormatInt(int64(23),2)
parseInt, err := strconv.ParseInt(bin23, 2, strconv.IntSize)
if err != nil {
return
}
fmt.Println(parseInt)
// 23
-
传入可以转为
int
的字符串 -
base指定字符串代表的进制(2到36),如果base为0,则会从字符串前置判断,"0x"是16进制,"0"是8进制,否则是10进制;
-
bitSize预期数值的bit大小,用于数值上限限制,最终返回的还是int64类型,0、8、16、32、64 分别代表 int、int8、int16、int32、int64;
func ParseUint
func ParseUint(s string, base int, bitSize int) (n uint64, err error)
- 传入代表正整数的字符串
- 其余与
ParseInt
相同
func ParseFloat
func ParseFloat(s string, bitSize int) (f float64, err error)
解析一个表示浮点数的字符串并返回其值。
func FormatBool
func FormatBool(b bool) string
将bool
值转为字符串
func FormatInt
func FormatInt(i int64, base int) string
fmt.Println(strconv.FormatInt(int64(23),2))
// 10111
- 传入
int64
和一个进制 - 返回将该数按照该进制转换后的字符串
func FormatUint
func FormatUint(i uint64, base int) string
- 正整数
- 其余同上
func FormatFloat
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
fmt.Println(strconv.FormatFloat(float64(32),'f',10,64))
//32.0000000000
-
函数将浮点数表示为字符串并返回。
-
fmt设置返回值的格式:‘f’(-ddd.dddd)、‘b’(-ddddp±ddd,指数为二进制)、‘e’(-d.dddde±dd,十进制指数)、‘E’(-d.ddddE±dd,十进制指数)、‘g’(指数很大时用’e’格式,否则’f’格式)、‘G’(指数很大时用’E’格式,否则’f’格式)。
-
prec控制精度(排除指数部分):对’f’、‘e’、‘E’,它表示小数点后的数字个数;对’g’、‘G’,它控制总的数字个数。如果prec 为-1,则代表使用最少数量的、但又必需的数字来表示f。
-
bitSize表示f的来源类型(32:float32、64:float64),会据此进行舍入。
func Atoi
func Atoi(s string) (i int, err error)
Atoi是ParseInt(s, 10, 0)
的简写。
func Itoa
func Itoa(i int) string
Itoa是FormatInt(i, 10)
的简写。
func AppendBoo
func AppendBool(dst []byte, b bool) []byte
tmp:=make([]byte,1,10)
tmp[0]='1'
fmt.Println(strconv.AppendBool(tmp,true))
fmt.Println(string(strconv.AppendBool(tmp,true)))
//[49 116 114 117 101]
//1true
等价于append(dst, FormatBool(b)...)
将bool
追加到字节切片中
func AppendInt
func AppendInt(dst []byte, i int64, base int) []byte
tmp:=make([]byte,1,10)
tmp[0]='1'
fmt.Println(strconv.AppendInt(tmp,23,2))
fmt.Println(string(strconv.AppendInt(tmp,23,2)))
// [49 49 48 49 49 49]
// 110111
等价于append(dst, FormatInt(I, base)...)
func AppendUint
func AppendUint(dst []byte, i uint64, base int) []byte
等价于append(dst, FormatUint(I, base)...)
func AppendFloat
func AppendFloat(dst []byte, f float64, fmt byte, prec int, bitSize int) []byte
等价于append(dst, FormatFloat(f, fmt, prec, bitSize)...)