Go基础_1_5 string

Tutorial: Go初级 Category: Go Published: 2026-04-07 13:58:26 Views: 21 Likes: 0 Comments: 0
package main

import "fmt"

func main() {
    /*
        字符串:
        1.概念:多个byte的集合,理解为一个字符序列
        2.语法:使用双引号
            "abc","hello","A"
                也可以使用``
        3.编码问题
                计算机本质只识别0和1
                A:65,B:66,C:67...
                a:97,b:98...
            ASCII(美国标准信息交换码)

            中国的编码表:gbk,兼容ASCII
                中
                家
            Unicode编码表:号称统一了全世界
                UTF-8,UTF-16,UTF-32...

        4.转义字符:\
            A:有一些字符,有特殊的作用,可以转义为普通的字符
                \',\'
            B:有一些字符,就是一个普通的字符,转义后有特殊的作用
                \n,换行
                \t,制表符
    */

    //1.定义字符串
    var s1 string
    s1 = "王二狗"
    fmt.Printf("%T,%s\n", s1, s1) // string,王二狗

    s2 := `Hello World`
    fmt.Printf("%T,%s\n", s2, s2) // string,Hello World

    //2.区别:'A',"A"
    v1 := 'A'
    v2 := "A"
    vt := []rune(v2)
    fmt.Printf("%T,%d\n", v1, v1)        // int32,65
    fmt.Printf("%T,%s\n", v2, v2)        // string,A
    fmt.Printf("%T,%#v\n", vt[0], vt[0]) // int32,65

    v3 := '中'
    fmt.Printf("%T,%d,%c,%q\n", v3, v3, v3, v3) // int32,20013,中,'中'

    //3.转义字符
    fmt.Println("\"HelloWorld\"") // "HelloWorld"
    fmt.Println("Hello\nWor\tld")

    fmt.Println(`He"lloWor"ld`) // He"lloWor"ld
    fmt.Println("Hello`Wor`ld") // Hello`Wor`ld
}