字符串

go语言中的字符串是用双引号包裹的

go语言单引号包裹的是字符

一个字符'a'占一个字节一个utf8编码的汉子'随'占三个字节

普通用法

package main

import "fmt"

func main() {
    c2 := "uigghkj\nhouihkjkh"
    fmt.Println(c2)
}

特殊字符可以这样输出,俩种方式结果一样,用``括起来是表示原样输出

package main

import "fmt"

func main() {
    s2 := `d:\go\src`
    s3 := "d:\\go\\src"
    fmt.Println(s2 + s3)
}

字符串拼接

package main

import "fmt"

func main() {
    name := "理想"
    world := "dsb"
    ss := name + world
    ss = fmt.Sprintf("%s%s", name, world) //这俩个方式结果是一样的
    fmt.Println(ss)
}

其它常用语法

package main

import (
    "fmt"
    "strings"
)

func main() {
    name := "理想.qweqwe"
    //分割
    ret := strings.Split(name, ".") //返回数组
    fmt.Println(ret)
    //包含
    fmt.Println(strings.Contains(name, "理性")) //如果包含返回true,不包含发挥false
    //前缀
    fmt.Println(strings.HasPrefix(name, "理想"))
    //后缀
    fmt.Println(strings.HasSuffix(name, "qwe"))
}

Go语言字符有以下俩种

1 uint类型也叫byte类型,代表了一个ASCII码的一个字符

2 rune类型,代表了一个UTF-8字符

当处理中文日文,日文或者其他复合字符时,则需要用到rune类型.rune类型是一个int32

package main

import "fmt"

func main() {
    //字符串修改
    s2 := "白萝卜"
    s3 := []rune(s2) //把字符串强制转换成了一个 rune切片
    s3[0] = '红'
    fmt.Println(string(s3)) //把rune切片强制转换成字符串
}
package main

import "fmt"

func main() {
    // s1 := "2"
    var s2 int32 = 65
    s3 := 'A'
    fmt.Println(s2)        //65
    fmt.Println(s3)        //65
    fmt.Printf("%T\n", s3) //int32
    fmt.Printf("%c\n", s3) //A
    fmt.Printf("%T\n", s2) //int32
    fmt.Printf("%c\n", s2) //A

}