go的字符操作strings和strconv

在任何语言中字符串操作都是非常频繁的,那么go中主要用strings和strconv, 他们的主要api有哪些了

strings

strings.HasPrefix(s string, prefix string) bool:判断字符串s是否以prefix开头 。
strings.HasSuffix(s string, suffix string) bool:判断字符串s是否以suffix结尾。
strings.Index(s string, str string) int:判断str在s中首次出现的位置,如果没有出现,则返回-1
strings.LastIndex(s string, str string) int:判断str在s中最后出现的位置,如果没有出现,则返回-1
strings.Replace(str string, old string, new string, n int):字符串替换 如果n为负数,则替换所有的满足条件的子串。
strings.Count(str string, substr string)int:字符串计数
strings.Repeat(str string, count int)string:重复count次str
strings.ToLower(str string)string:转为小写
strings.ToUpper(str string)string:转为大写
strings.TrimSpace(str string):去掉字符串首尾空白字符
strings.Trim(str string, cut string):去掉字符串首尾cut字符
strings.TrimLeft(str string, cut string):去掉字符串首cut字符
strings.TrimRight(str string, cut string):去掉字符串首cut字符
strings.Field(str string):返回str空格分隔的所有子串的slice
strings.FieldsFunc(s string, f func(rune) bool) []string 根据传入的函数分割字符串,如果当前参数c不是数字或者字母,返回true作为分割符号
strings.Split(str string, split string):返回str split分隔的所有子串的  slice
strings.Join(s1 []string, sep string):用sep把s1中的所有元素链接起来
strings.Itoa(i int):把一个整数i转成字符串
strings.Atoi(str string)(int, error):把一个字符串转成整数   
strings.Contains(s, substr string) bool 字符串s中是否包含substr,返回true或者false。
strings.ContainsAny(s, chars string) bool 用于判断子串中是否具有一个字符在源串s中。子串为空,返回false。
strings.ContainsRune(s string, r rune) bool 用于判断Ascall码代表的字符是否在源串s中。
strings.EqualFold(s, t string) bool 在不区分大小写的情况下,判断两个字符串是否相同
strings.Map(mapping func(rune) rune, s string) string 对字符串s中每一个字符执行map函数中的操作。

strconv

strconv包提供了字符串与简单数据类型之间的类型转换功能。可以将简单类型转换为字符串,也可以将字符串转换为其它简单类型。
这个包里提供了很多函数,大概分为几类:
字符串转int:Atoi()
int转字符串: Itoa()
ParseTP类函数将string转换为TP类型:ParseBool()、ParseFloat()、ParseInt()、ParseUint()。因为string转其它类型可能会失败,所以这些函数都有第二个返回值表示是否转换成功
FormatTP类函数将其它类型转string:FormatBool()、FormatFloat()、FormatInt()、FormatUint()
AppendTP类函数用于将TP转换成字符串后append到一个slice中:AppendBool()、AppendFloat()、AppendInt()、AppendUint()

fmt.Sprintf(格式化输出)

下表中标出了常用的一些格式化样式中的动词及功能。

表:字符串格式化时常用动词及功能
动 词功 能
%v按值的本来值输出
%+v在 %v 基础上,对结构体字段名和值进行展开
%#v输出 Go 语言语法格式的值
%T输出 Go 语言语法格式的类型和值
%%输出 % 本体
%b整型以二进制方式显示
%o整型以八进制方式显示
%d整型以十进制方式显示
%x整型以十六进制方式显示
%X整型以十六进制、字母大写方式显示
%UUnicode 字符
%f浮点数
%p指针,十六进制方式显示

如:

使用'%+v' &{Name:rat HP:150}
使用'%#v' &struct { Name string; HP int }{Name:"rat", HP:150}
使用'%T' *struct { Name string; HP int }C语言中, 使用%d代表整型参数