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
}