string数据类型与strings模块 | Go语言基础

Posted pymkl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string数据类型与strings模块 | Go语言基础相关的知识,希望对你有一定的参考价值。

package main // 当前包声明


func main() { // 程序的入口
    // string        
    // Go中的字符串是一个字节的切片,是Unicode兼容的,并且是UTF-8编码的.
    // 字符串是一些字节的集合,可以理解为一个字符的序列.
    // 每个字符都又固定的位置

    // 定义字符串
    tempString:="hello"
    tempString := `hello`

    // 根据下表获取字符串
    fmt.Println(tempString[0]) // 104
    fmt.Printf("%c %v", tempString[0], tempString[0])  // h, 104

    // 遍历字符串
    for i:=0;i<len(tempString); i++{
        fmt.Printf("%c 
", tempString[i])
    }

    // for range
    for _,v := range tempString{
        fmt.Println(v)
        fmt.Printf("%c 
", v)
    }

    // 字符串是字节的集合
    // 根绝一个字节数组,构建一个字符串
    tempSlice:=[]byte{65,66,67,68,69}
    s3 := string(tempSlice)
    fmt.Println(s3)  // ABCDE

    // 根据一个字符串获取对应的字节数组
    tempString := "abcde"
    tempSlice := [] byte(tempString)  // ()包裹数据类型,{}包裹一串数据
    fmt.Println(tempSlice)

    // strings包的使用
    tempString := "abcde"

    // 是否包含strings.Contains()
    fmt.Println(strings.Contains(tempString, "ab"))
    fmt.Println(strings.ContainsAny(tempString, "af"))  // 是否包含字符中任意一个都返回

    // 子字符串出现的次数 stings.Count()
    fmt.Println(strings.Count(tempString, "a"))

    // 是否以子串开头
    fmt.Println(strings.HasPrefix(tempString, "a"))

    // 是否以子串结束
    fmt.Println(strings.HasSuffix(tempString, "e"))

    // 字符所在下标
    fmt.Println(strings.Index(tempString, "c"))  // 如果不存在返回-1
    fmt.Println(strings.IndexAny(tempString, "cf"))  // 检索到任意一个返回
    fmt.Println(strings.LastIndex(tempString, "e"))  // 最后一次出现

    // 根据分隔符拼接数组/切片中字符串
    tempSep := "-"
    tempSlice := []string{"a", "b", "c"}
    cTempString := strings.Join(tempSlice, tempSep)
    fmt.Println(cTempString)  // a-b-c

    // 根据字符串切割
    tempString:="a,b"
    fmt.Println(strings.Split(tempString, ","))  //[a b]

    // 字符串重复拼接
    tempString:="ab"
    fmt.Println(strings.Repeat(tempString, 5))

    // 字符串替换
    tempString:="abcde"
    fmt.Println(strings.Replace(tempString, "a", "f", 1))  // 字符串,旧,新,替换次数

    // 大小写
    fmt.Println(strings.ToUpper(tempString))
    fmt.Println(strings.ToLower(tempString))

    // 切除首尾字符,左右侧字符
    tempString:="***a***b***"
    fmt.Println(strings.Trim(tempString,"*"))
    fmt.Println(strings.TrimLeft(tempString,"*"))
    fmt.Println(strings.TrimRight(tempString,"*"))
    fmt.Println(strings.TrimSpace(tempString))  // 取出首尾空格

    // 截取字符串
    tempString:="abcde"
    fmt.Println(tempString[0:2])
}

 

 

以上是关于string数据类型与strings模块 | Go语言基础的主要内容,如果未能解决你的问题,请参考以下文章

go语言string之Buffer与Builder

[Go] golang结构体成员与函数类型

GO值类型与引用类型

GO语言函数与类型

Go time与string的相爱相杀

Go time与string的相爱相杀