第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在go中遍歷字符串中的每2個連續(xù)字符?

如何在go中遍歷字符串中的每2個連續(xù)字符?

Go
蠱毒傳說 2022-10-24 15:02:17
我有一個這樣的字符串:package mainimport "fmt"func main() {    some := "p1k4"    for i, j := range some {            fmt.Println()    }}我想獲取字符串中的每兩個連續(xù)字符并打印它們。輸出應(yīng)該像p1, 1k, k4, 4p.我已經(jīng)嘗試過了,但仍然無法找到答案,我應(yīng)該如何在 go 中編寫代碼并獲得我想要的輸出?
查看完整描述

3 回答

?
婷婷同學(xué)_

TA貢獻1844條經(jīng)驗 獲得超8個贊

Go 將字符串作為 UTF-8 編碼的字節(jié)序列存儲在內(nèi)存中。這會以字節(jié)為單位一對一地映射 ASCII 字符,但超出該范圍的字符會映射到多個字節(jié)。

所以我建議在字符串上使用循環(huán),該for range循環(huán)覆蓋字符串的符文(字符),正確解碼多字節(jié)符文。這樣做的好處是它不需要分配(與將 轉(zhuǎn)換為 不同string[]rune。您也可以使用 打印對fmt.Printf("%c%c", char1, char2),這也不需要分配(與將runes 轉(zhuǎn)換回string并連接它們不同)。

要了解有關(guān) Go 中的字符串、字符和符文的更多信息,請閱讀博客文章:Go 中的字符串、字節(jié)、符文和字符

由于循環(huán)僅返回迭代中的“當(dāng)前”符文(而不是前一個或下一個符文),因此使用另一個變量來存儲前一個(和第一個)符文,以便在打印時可以訪問它們。

讓我們編寫一個函數(shù),根據(jù)需要打印對:

func printPairs(s string) {

    var first, prev rune


    for i, r := range s {

        if i == 0 {

            first, prev = r, r

            continue

        }

        fmt.Printf("%c%c, ", prev, r)

        prev = r

    }


    // Print last pair: prev is the last rune

    fmt.Printf("%c%c\n", prev, first)

}

使用您的輸入和另一個具有多字節(jié)符文的字符串對其進行測試:


printPairs("p1k4")

printPairs("Go-世界")

輸出將是(在Go Playground上嘗試):


p1, 1k, k4, 4p

Go, o-, -世, 世界, 界G


查看完整回答
反對 回復(fù) 2022-10-24
?
一只斗牛犬

TA貢獻1784條經(jīng)驗 獲得超2個贊

package main


import (

    "fmt"

)


func main() {

    str := "12345"

    for i := 0; i < len(str); i++ {

        fmt.Println(string(str[i]) + string(str[(i+1)%len(str)]))

    }


}


查看完整回答
反對 回復(fù) 2022-10-24
?
GCT1015

TA貢獻1827條經(jīng)驗 獲得超4個贊

這是對字符串的簡單 for 循環(huán),第一個字符附加在后面:


package main


import "fmt"


func main() {

    some := "p1k4"

    ns := some + string(some[0])

    for i := 0; i < len(ns)-1; i++ {

        fmt.Println(ns[i:i+2])

    }

}


查看完整回答
反對 回復(fù) 2022-10-24
  • 3 回答
  • 0 關(guān)注
  • 205 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號