亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

go語(yǔ)言數(shù)據(jù)類型之字符串string

 更新時(shí)間:2022年07月16日 09:51:50   作者:奮斗的大橙子  
這篇文章介紹了go語(yǔ)言數(shù)據(jù)類型之字符串string,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1.Go語(yǔ)言String的本質(zhì)就是一個(gè)[]byte,所以他們之間可以互相轉(zhuǎn)換,byte數(shù)組的長(zhǎng)度就是字符串的長(zhǎng)度。

func StringTest1() {
   str := "Hello,World"
   a := str[0]
   b := str[1]
   fmt.Printf("a=%c\n", a)
   fmt.Printf("b=%c\n", b)
}

 結(jié)果

a=H 
b=e 
str=Mello,World

2.字符串的值一旦指定,就不能進(jìn)行修改。如果想修改,則可以先將字符串裝換成slice。

//當(dāng)試圖去修改str時(shí)候
str[0] = 'M'

會(huì)出現(xiàn)如下錯(cuò)誤提示

func StringTest1() {
   str := "Hello,World"
   a := str[0]
   b := str[1]
   fmt.Printf("a=%c\n", a)
   fmt.Printf("b=%c\n", b)

   var byteSlice []byte
   byteSlice = []byte(str)
   byteSlice[0] = 'M'
   str = string(byteSlice)
   fmt.Printf("str=%s\n", str)
}

結(jié)果

a=H 
b=e 
str=Mello,World

3.rune表示utf8的字符,一個(gè)rune字符由一個(gè)或多個(gè)byte組成。

rune和字符串長(zhǎng)度之間是什么肥四?可以參考下面的例子:

func StringTest2() {

    str2 := "Hello,世界"

    var str2ByteSlice []byte
    str2ByteSlice = []byte(str2)

    var str2RuneSlice []rune
    str2RuneSlice = []rune(str2)

    fmt.Printf("strLen=%v\n",len(str2) )
    fmt.Printf("str2ByteSlice=%v\n",len(str2ByteSlice) )
    fmt.Printf("str2RuneSlice=%v\n",len(str2RuneSlice) )

    for i:=0;i<len(str2RuneSlice);i++{
        var b = str2RuneSlice[i]
        fmt.Printf("str2RuneSlice[%d]=%c\n" ,i,b)
    }

結(jié)果是什么?

strLen=12 
str2ByteSlice=12 
str2RuneSlice=8

從結(jié)果看到

①字符串的長(zhǎng)度和byte切片的長(zhǎng)度是一致的

②字符串的長(zhǎng)度要比rune切片的長(zhǎng)度大,說(shuō)明一個(gè)中文字符需要占用多個(gè)byte,這里是就是3個(gè),所以才有后面 str2RuneSlice = 8這個(gè)結(jié)果

進(jìn)而我們可以遍歷這個(gè)rune切片,追加下面代碼

for i:=0;i<len(str2RuneSlice);i++{
        var b = str2RuneSlice[i]
        fmt.Printf("str2RuneSlice[%d]=%c\n" ,i,b)
    }

結(jié)果

str2RuneSlice[0]=H 
str2RuneSlice[1]=e 
str2RuneSlice[2]=l 
str2RuneSlice[3]=l 
str2RuneSlice[4]=o 
str2RuneSlice[5]=, 
str2RuneSlice[6]=世 
str2RuneSlice[7]=界

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • Golang信號(hào)量設(shè)計(jì)實(shí)現(xiàn)示例詳解

    Golang信號(hào)量設(shè)計(jì)實(shí)現(xiàn)示例詳解

    這篇文章主要為大家介紹了Golang信號(hào)量設(shè)計(jì)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • go 生成器模式的具體使用

    go 生成器模式的具體使用

    生成器是一種創(chuàng)建型設(shè)計(jì)模式,使你能夠分步驟創(chuàng)建復(fù)雜對(duì)象,本文主要介紹了go生成器模式的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Golang中的同步工具sync.Map示例詳解

    Golang中的同步工具sync.Map示例詳解

    sync.Map是Golang標(biāo)準(zhǔn)庫(kù)提供的并發(fā)安全的Map類型,可以在多個(gè)goroutine并發(fā)讀寫Map的場(chǎng)景下不需要加鎖,這篇文章主要介紹了Golang中的同步工具sync.Map詳解,需要的朋友可以參考下
    2023-05-05
  • Golang加權(quán)輪詢負(fù)載均衡的實(shí)現(xiàn)

    Golang加權(quán)輪詢負(fù)載均衡的實(shí)現(xiàn)

    負(fù)載均衡器在向后端服務(wù)分發(fā)流量負(fù)載時(shí)可以使用幾種策略。本文主要介紹了Golang加權(quán)輪詢負(fù)載均衡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 淺談go中切片比數(shù)組好用在哪

    淺談go中切片比數(shù)組好用在哪

    數(shù)組和切片都是常見(jiàn)的數(shù)據(jù)結(jié)構(gòu),本文將介紹Go語(yǔ)言中數(shù)組和切片的基本概念,同時(shí)詳細(xì)探討切片的優(yōu)勢(shì),感興趣的可以了解下
    2023-06-06
  • 利用systemd部署golang項(xiàng)目的實(shí)現(xiàn)方法

    利用systemd部署golang項(xiàng)目的實(shí)現(xiàn)方法

    這篇文章主要介紹了利用systemd部署golang項(xiàng)目的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Golang?統(tǒng)計(jì)字符串中數(shù)字字母數(shù)量的實(shí)現(xiàn)方法

    Golang?統(tǒng)計(jì)字符串中數(shù)字字母數(shù)量的實(shí)現(xiàn)方法

    這篇文章主要介紹了Golang?統(tǒng)計(jì)字符串中數(shù)字字母數(shù)量,本文給出了兩種從字符串獲取數(shù)字與字母數(shù)量的方法,分別是ASCII 碼值和正則表達(dá)式,需要的朋友可以參考下
    2022-06-06
  • ubuntu下搭建Go語(yǔ)言(golang)環(huán)境

    ubuntu下搭建Go語(yǔ)言(golang)環(huán)境

    這篇文章主要介紹了ubuntu下搭建Go語(yǔ)言(golang)環(huán)境,需要的朋友可以參考下
    2015-01-01
  • golang中拿slice當(dāng)queue和拿list當(dāng)queue使用分析

    golang中拿slice當(dāng)queue和拿list當(dāng)queue使用分析

    這篇文章主要為大家介紹了golang?中拿slice當(dāng)queue和拿list當(dāng)queue使用分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Golang中的自定義函數(shù)詳解

    Golang中的自定義函數(shù)詳解

    函數(shù)構(gòu)成代碼執(zhí)行的邏輯結(jié)構(gòu)。在Go語(yǔ)言中,函數(shù)的基本組成為:關(guān)鍵字func、函數(shù)名、參數(shù)列表、返回值、函數(shù)體和返回語(yǔ)句。
    2018-10-10

最新評(píng)論