1>Golang字符串常用操作(哪里不對(duì),請(qǐng)多多指點(diǎn))

字符,字節(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

}

參考連接
https://studygolang.com/articles/13097

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"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容