1 概述
Go语言是强类型语言,因此总会需要将字符串转成需要的类型。比如整型和字符串转换,字符串和布尔型的转换等。本文就介绍如何完成这些转换,以下是Go语言关于字符串转换的整理说明,主要是与切片类型的转换,和 strconv 包的使用。
2 与切片的转换
切片类型可以和字符串类型相互转换。
3 strconv 包
会将常用的放在前面:
strconv.Atoi(s string) (int, error)
转换字符串 s string 到整型。
strconv.Itoa(i int) string
将整型转 i int 换为字符串
strconv.ParseFloat(s string, bitSize int) (float64, error)
解析字符 str string 串为浮点,可以设置位数。
strconv.ParseInt(s string, base int, bitSize int) (i int64, err error)
解析字符 str string 串为整数,可以设置进制、位数。
strconv.FormatFloat(f float64, fmt byte, prec, bitSize int) string
将浮点数 f float64 转换为字符串,可以设置格式 fmt(b,e,E,f,g,G)、精度prce、位数(32或64)。
strconv.FormatInt(i int64, base int) string
将整数 i int64 转换为字符串,可以指定进制 base。
strconv.AppendBool(dst []byte, b bool) []byte
将布尔值 b bool 以字符串形式追加到 dst []byte 中。
strconv.AppendFloat(dst []byte, f float64, fmt byte, prec, bitSize int) []byte
将浮点数 f float64 以字符串形式追加到 dst []byte 中,可以设置格式 fmt(b,e,E,f,g,G)、精度prce、位数(32或64)。
strconv.AppendInt(dst []byte, i int64, base int) []byte
将整数 i int64 以字符串形式追加到 dst []byte 中,可以指定进制。
strconv.AppendQuote(dst []byte, s string) []byte
将字符串 s string 以字符串双引号定义的形式追加到 dst []byte 中。
strconv.AppendQuoteRune(dst []byte, r rune) []byte
将字符 r rune 以字单引号定义的形式追加到 dst []byte 中。
strconv.AppendQuoteRuneToASCII(dst []byte, r rune) []byte
将字符 r rune 以字单引号定义的形式追加到 dst []byte 中,对于非 ASCII 字符 r 会以转义字符的形式出现。
strconv.AppendQuoteToASCII(dst []byte, s string) []byte
将字符串 s string 以字符串双引号定义的形式追加到 dst []byte 中,非 ASCII 字符以转义形式表示。
strconv.AppendUint(dst []byte, i uint64, base int) []byte
将无符号整数 i uint64 以字符串形式追加到 dst []byte 中,可以指定进制。
strconv.CanBackquote(s string) bool
检测字符串 s string 是否可以不被修改的表示为一个单行的、没有空格和tab之外控制字符的反引号字符串。
strconv.FormatBool(b bool) string
将布尔 b bool 转换为字符串。
strconv.FormatUint(i uint64, base int) string
将无符号整数 i uint64 转换为字符串,可以指定进制 base。
strconv.IsPrint(r rune) bool
检测字符 r rune 是否为打印字符。
strconv.ParseBool(str string) (bool, error)
解析字符 str string 串为布尔型。
strconv.ParseUint(s string, base int, bitSize int) (uint64, error)
解析字符 str string 串为无符号整数,可以设置进制、位数。
strconv.Quote(s string) string
返回字符串 s string 双引号字面值表示,控制字符、不可打印字符会进行转义,如 \t,\n,\xFF,\u0100。
strconv.QuoteRune(r rune) string
返回字符 r rune 单引号字面值表示,控制字符、不可打印字符会进行转义,如\t,\n,\xFF,\u0100。
strconv.QuoteRuneToASCII(r rune) string
返回字符 r rune 单引号字面值表示,控制字符、不可打印字符、非ASCII字符会进行转义。
strconv.QuoteToASCII(s string) string
返回字符串 s string 双引号字面值表示,控制字符和不可打印字符、非ASCII字符会进行转义。
strconv.Unquote(s string) (string, error)
返回一个单引号、双引号、反引号包围的语法字符串 s string,解析它并返回它表示的值。若为反引号括起来的,函数会认为s是go字符字面值,返回一个单字符的字符串。
strconv.UnquoteChar(s string, quote byte) (value rune, multibyte bool, tail string, err error)
返回一个表示字符的语法字符串 s string,可以设置字符串定义语法 quote byte 双引号或者反引号。解析它并返回四个值:
完!
领取专属 10元无门槛券
私享最新 技术干货