15_Go基础(string)

package main

import (
    "fmt"
    "strings"
)

func main() {
    s1 := "你好china"
    s2 := ""D:\Go\src\p1"" // 双斜杠有一个是转义

    // 1. 字符串长度
    fmt.Println(len(s1)) // 11 一个汉字 3 字节,一个小写字母 1 个字节

    // 2. 转义
    fmt.Println(s2) // "D:Gosrcp1"

    // 3. 多行字符串
    s3 := `
        静夜思
窗前明月光,疑是地上霜。
举头望明月,低头思故乡。
    `
    fmt.Println(s3)

    // 4. 字符串相关操作
    s4 := "hello"
    s5 := "word"
    s6 := "D:\Go\src\p1"

    // 拼接
    fmt.Println(s4 + s5) // helloword
    // 分割 返回列表
    fmt.Println(strings.Split(s6, "\")) // [D: Go src p1]
    // 包含 布尔值
    fmt.Println(strings.Contains(s4, "ll")) // true
    // 前缀 布尔值
    fmt.Println(strings.HasPrefix(s5, "wo")) // true
    // 后缀 布尔值
    fmt.Println(strings.HasSuffix(s6, "p2")) // false
    // 字串位置
    fmt.Println(strings.Index(s4, "l"))     // 2
    fmt.Println(strings.LastIndex(s4, "l")) // 3
    fmt.Println(strings.Index(s4, "a"))     // -1
    // 连接
    fmt.Println(strings.Join(strings.Split(s6, "\"), "+")) // D:+Go+src+p1

    // 字符串修改 字符串不能修改
    s7 := []rune(s4)        // rune 切片
    s7[0] = 'H'             // 单引号
    fmt.Println(string(s7)) // Hello

}
原文地址:https://www.cnblogs.com/luwei0915/p/15357603.html