Go-数据类型-字符串-string

字符串 -- string

  • 字符串使用双引号表示 " "

  • 多行或原始字符串(反斜杠失去转义行为)使用 反引号 ``

  • 字符使用单引号表示 ' ',表示单独的字母、中文、数字

  • 字符串转换 -- strings

    • 拼接 + fmt.Sprintf
    • 分割 Split
    • 连接 Join
    • 包含 Contains
    • 前后缀判断 HasPrefix HasSuffix
    • 子串位置 Index LastIndex
    • ...
    package main
    
    import (
    	"fmt"	
    	"strings"
    )
    
    
    func main() {
    	name := "beimenchuixue"
    	fmt.Printf("%T", name)
    
    	// 字符拼接
    	age := "18岁"
    	// + 号拼接
    	fmt.Println(name + age)
    	// 格式化拼接
    	newStr := fmt.Sprintf("%s%s", name, age)
    	fmt.Println(newStr)
    
    	// 字符串分割 split,反引号让转义符号\失去转义,成为一个普通字符
    	filePath := `C:\Users\Administrator\Desktop\blog\golang\基础知识`
    	fmt.Println(strings.Split(filePath, "\\"))
    
    	// 字符串前缀和后缀判断
    	fileName := "b-hi.jpg"
    	// 前缀判断
    	fmt.Println(strings.HasPrefix(fileName, "b"))
    	// 后缀判断
    	fmt.Println(strings.HasSuffix(fileName, ".jpg"))
    
    	// 包含某个字符判断 contain
    	fmt.Print(strings.Contains(fileName, "hi"))
    }
    
    
  • 字符串是不可变类型,想修改需要讲字符串转换成其他可变类型

转义字符-反斜杠 \

  • 把前置了反斜杠的字符转义成特殊字符

    双引号 \"

    单引号 \'

    回车 \r

    换行 \n

    退格 \b

字符编码

  • 二进制 - 数字 - 字符
  • Go内存使用Unicode编码,源文件使用UTF-8编码
  • 通用编程语言,源码文件使用UTF-8编码,读取到内存中运行使用Unicode编码

字符默认类型

  • 使用双引号的默认为string类型,runeint32的别名
  • 使用单引号的默认为int32类型,byteuint8的别名

字符串抽取和切片

  • 抽取 string[index] => []byte(string)[index]

    这对包含中文的字符串出现问题,为了正确识别,可以将字符串转成 []rune类型或者通过 for range 遍历

  • 切片 string[start:end]

  • 抽取和切片的索引使用的字节单位

posted @ 2020-12-08 23:39  梦_鱼  阅读(290)  评论(0)    收藏  举报