zoukankan      html  css  js  c++  java
  • go 学习之字符串

    字符串

    字符串是不可变值类型,内部⽤用指针指向 UTF-8 字节数组。
    默认值是空字符串 ""。
    用索引号访问某字节,如 s[i], i不能是负数。
    不能⽤用序号获取字节元素指针,&s[i] ⾮非法。
    不可变类型,⽆无法修改字节数组。

    字符串有两种类型(区别就是是否转义)

    1,解释字符串

    该类字符串使用双引号括起来,其中的相关的转义字符将被替换,这些转义字符包括:
    :换行符
    :回车符
    :tab 键
    u 或 U :Unicode 字符
    \ :反斜杠自身

    2,非解释字符串  

    该类字符串使用反引号括起来,支持换行,例如:
    `This is a raw string ` 中的 ` \` 会被原样输出。

    字符串包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语法下的双引号字面值表示,控制字符和不可打印字符会进行转义( , 等)
    strconv.QuoteToASCII(s string)string -> 返回字符串在go语法下的双引号字面值表示,除了上面的和非ASCII字符会进行转义
    strconv.QuoteRune(r rune)string -> 返回字符r在go语法下的单引号字面值表示,控制字符,不可打印字符会进行转义( , ,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)的简写

  • 相关阅读:
    Java数据结构之栈(Stack)
    Java数据结构之单向环形链表(解决Josephu约瑟夫环问题)
    Java数据结构之双向链表
    zookeeper:JavaApi操作节点
    zookeeper:3
    单例模式
    zookeeper:2
    架构版本
    zookeeper:1
    Java反射
  • 原文地址:https://www.cnblogs.com/tigerzhouv587/p/11388539.html
Copyright © 2011-2022 走看看