字符串
字符串是不可变值类型,内部⽤用指针指向 UTF-8 字节数组。 默认值是空字符串 ""。 用索引号访问某字节,如 s[i], i不能是负数。 不能⽤用序号获取字节元素指针,&s[i] ⾮非法。 不可变类型,⽆无法修改字节数组。
字符串有两种类型(区别就是是否转义)
1,解释字符串
该类字符串使用双引号括起来,其中的相关的转义字符将被替换,这些转义字符包括: \n :换行符 \r :回车符 \t :tab 键 \u 或 \U :Unicode 字符 \\ :反斜杠自身
2,非解释字符串
该类字符串使用反引号括起来,支持换行,例如: `This is a raw string \n` 中的 `\n\` 会被原样输出。
字符串包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):字符串替换 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.Fields(str string):返回str空格分隔的所有子串的slice 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):把一个字符串转成整数
Strconv
strconv包提供了简单数据类型之间的类型转换功能。可以将简单类型转换为字符串,也可以将字符串转换为其它简单类型。
strconv.Quote(s string)string -> 返回字符串在go语法下的双引号字面值表示,控制字符和不可打印字符会进行转义(\t,\n等) strconv.QuoteToASCII(s string)string -> 返回字符串在go语法下的双引号字面值表示,除了上面的和非ASCII字符会进行转义 strconv.QuoteRune(r rune)string -> 返回字符r在go语法下的单引号字面值表示,控制字符,不可打印字符会进行转义(\n,\t,\xFF等) strconv.QuoteRuneToASCII(r rune)string -> 返回字符r在go语法下的单引号字面值表示,除了上面的,非ASCII字符 也会进行转义 strconv.Unquote(s string)(t string,err error) -> 函数假设s是一个半引号、双引号、反引号包围的go语法字符串,解析它并返回它表示的值。(如果是单引号括起来的,函数会认为s是go字符字面值,返回一个单字符的字符串) strconv.ParseBool(str string)(value bool,err error),返回字符串表示的bool值。它接受1、0、t,f、T、F、true、false、True、False、TRUE、FALSE;否则返回错误 strconv.ParseInt(s string, base int, bitSize int)(i int64,err error) -> 返回字符串表示的整数值,接受正负号。base指定进制(2到36),如果base为0,则会从字符串前置判断,”0x”代表16进制,”0”是8进制,否则是10进制;bitSize指定结果必须能无溢出的整数类型,0、8、16、32、64分别代表int,int8,int16,int32,int64;返回的err是NumErr类型的,如果语法类型有误,err.Error=ErrSyntax,如果结果超出类型范围,err.Error=ErrorRange strconv.ParseUint(s string,base int,bitSize)(n uint64, err error) -> 类似ParseInt但不接受正负号,用于无符号整型 strconv.Float(a string,bitSize int)(f float64,err error) -> 解析一个表示浮点数的字符串并返回其值。如果s合乎语法规则,函数会返回最为接近s表示值的一个浮点数(使用IEEE754规范舍入)。bitSize指定了期望的接收类型,32是float32,64是float64,返回值是NumErr strconv.FormatBool(b bool)string -> 根据b的值返回”true”或”false” strconv.FormatInt(i int64,base int)string -> 返回的i的base进制的字符串表示,base必须在2-36之间,结果中会使用小写字母a到z表示大于10的数字 strconv.FormatUint(i uint64, base int)string -> 是FormatInt的无符号整数版本 strconv.FormFloat(f float64,fmt byte,prec,bitSize int)string -> 函数将浮点数表示为字符串并返回。bitSize表示的来源类型(32:float32,64:float64),会据此进行舍入。 strconv.Atoa(s string)(i int,err error) -> Atoi是ParseInt(s,10,0)的简写 strconv.Itoa(i int)string -> Format(i,10)的简写
|
请发表评论