在任何语言中字符串操作都是非常频繁的,那么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 | 整型以十六进制、字母大写方式显示 |
%U | Unicode 字符 |
%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代表整型参数