字符,字節(jié)(byte重點(diǎn))
// 字符串
s := "hello 皇甫村"
// 單獨(dú)的字母,漢字,符號(hào)表示一個(gè)字符
c1 := 'h'
c2 := '皇'
// 字節(jié)。一個(gè)字節(jié)=8bit(8個(gè)二進(jìn)制位)
// 一個(gè)'A' =1一個(gè)字節(jié)
// 一個(gè)utf8編碼的漢字 '砂' = 一般占用3個(gè)字節(jié)
1kb = 1024字節(jié)
字符串
package main
import (
"fmt"
"strings"
)
// 字符串相關(guān)操作
var s3 = "C:\\Windows\\SoftwareDistribution\\Download"
func main() {
// 字符串長(zhǎng)度
fmt.Println(len(s3))
// 字符串拼接
name := "理想"
world := "dsb"
fmt.Println(name + world) // 直接打印到終端
ss := fmt.Sprintf("%s%s", name, world) // 直接返回了,需要一個(gè)變量來(lái)接收
fmt.Println(ss)
// 字符串分割
ret := strings.Split(s3, "\\") // 需要用到strings這個(gè)包
fmt.Println(ret)
// 拼接
joins := strings.Join(ret, "+")
fmt.Println(joins)
// 包含
fmt.Println(strings.Contains(ss, "理性"))
results := strings.Contains(ss, "理想")
fmt.Println(results)
// 前綴和后綴,也就是以什么開(kāi)頭,以什么結(jié)尾,在python中相當(dāng)于 startswith,endswith
fmt.Println("前綴和后綴,也就是以什么開(kāi)頭,以什么結(jié)尾,在python中相當(dāng)于 startswith,endswith")
fmt.Println(strings.HasPrefix(ss, "理想"))
rest := strings.HasPrefix(ss, "理想")
fmt.Println(rest)
fmt.Println(strings.HasSuffix(ss, "理想"))
rest2 := strings.HasSuffix(ss, "理想")
fmt.Println(rest2)
// 判斷出現(xiàn)的位置,返回索引值,索引也是從0開(kāi)始的,跟python沒(méi)差
// Index 返回子串 sep 在字符串 s 中第一次出現(xiàn)的位置
// 如果找不到,則返回 -1,如果 sep 為空,則返回 0。
s4 := "abcded"
ind := strings.Index(s4, "c") // 不能用單引號(hào),cannot use 'c' (type rune) as type string in argument to strings.Index
fmt.Println(ind) //2
// LastIndex 返回子串 sep 在字符串 s 中最后一次出現(xiàn)的位置
// 如果找不到,則返回 -1,如果 sep 為空,則返回字符串的長(zhǎng)度
// 使用樸素字符串比較算法實(shí)現(xiàn)
lastind := strings.LastIndex(s4, "c")
fmt.Println(lastind) //2
}
string類(lèi)型
字符串就是一串固定長(zhǎng)度的字符連接起來(lái)的字符序列。
Go 的字符串是由單個(gè)字節(jié)連接起來(lái)的。
Go 語(yǔ)言的字符串的字節(jié)使用 UTF-8 編碼標(biāo)識(shí) Unicode 文本
注意事項(xiàng)
1. Go語(yǔ)言的字符串的字節(jié)使用UTF-8編碼標(biāo)識(shí)Unicode文本,
這樣Golang統(tǒng)一使用UTF-8編碼,中文 亂碼問(wèn)題不會(huì)再困擾程序員。
2. 字符串一旦賦值了,字符串就不能修改了:在 Go 中字符串是不可變的。address[0] = 's' 會(huì)報(bào)錯(cuò)
3. 字符串的兩種表示形式
3.1 雙引號(hào), 會(huì)識(shí)別轉(zhuǎn)義字符
3.2 反引號(hào),以字符串的原生形式輸出,包括換行和特殊字符,可以實(shí)現(xiàn)防止攻擊、輸出源代碼等效果
4. 字符串拼接方式
5. 當(dāng)一行字符串太長(zhǎng)時(shí),需要使用到多行字符串,可以如下處理
str5 := "adadas" + "adsadasdd" +
"sdfsfsdf" + "dfdfsdf" +
"dsfsfsdf"