Go 字符串 (string)

字符串类型为 string,使用双引号或者反引号包起来

字符串形式

反引号

当使用反引号时不会对字符串进行转义,并可以包含多行文本

示例:

package main

import "fmt"

func main() {
    a := `
hello
world
!
    `
    b := `hello \n world`
    fmt.Println(a)
    fmt.Println(b)
}

输出结果:


hello
world
!
        
hello \n world

双引号

当使用双引号时,只能通过 \n 进行换行
示例:

package main

import "fmt"

func main() {
    a := "hello \n world"
    fmt.Println(a)
}

输出结果:

hello 
 world

切片

一个字节

如果直接使用索引进行取值,会取到一个字节
示例:

package main

import (
    "fmt"
)

func main() {
    a := "abc"
    for i := 0; i < len(a); i++ {
        fmt.Printf("%v, %T\n", a[i], a[i])
    }
}

输出结果:

97, uint8
98, uint8
99, uint8

多个字节

如果通过切片取出来的还是字符串,即使只取了一个字节也是一个字节的字符串
示例:

package main

import (
    "fmt"
)

func main() {
    a := "abc"
    for i := 0; i < len(a); i++ {
        fmt.Printf("%v, %T\n", a[i: i+1], a[i: i+1])
    }
}

输出结果:

a, string
b, string
c, string

修改

Go 中字符串类型是不能修改的,想要修改必须先转换为切片,修改之后再改回来
示例:

func main() {
    a := "hello world"
    b := []rune(a)
    b[0] = 'H'
    a = string(b)
    fmt.Printf("%v", a)
}

猜你喜欢

转载自www.cnblogs.com/dbf-/p/12074898.html