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

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

如何從 Go 中的字符串中替換第 n 個字符

如何從 Go 中的字符串中替換第 n 個字符

Go
溫溫醬 2022-01-17 16:33:07
我想替換原始字符串中的第 n 個字符。我可以使用 訪問字符串中的第 n 個字符chars[i],但是當(dāng)我為 賦值時chars[i],我得到一個錯誤。package mainimport "fmt"func main() {  var chars = "abcdef"  fmt.Println(string(chars[3]))  chars[3] = "z" // is not working}
查看完整描述

3 回答

?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個贊

字符串是不可變的。

chars = chars[:3] + "z" + chars[4:]


查看完整回答
反對 回復(fù) 2022-01-17
?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個贊

發(fā)生這種情況是因?yàn)閏hars它實(shí)際上是一個字符串并且是不可變的。如果您適當(dāng)?shù)芈暶魉ㄗ鳛樽止?jié)切片),那么您可以在嘗試時分配給它。這是一個例子;


package main

import "fmt"


func main() {

  var chars = []byte{'a', 'b', 'c', 'd', 'e', 'f'}

  fmt.Println(string(chars[3]))

  fmt.Printf("%T\n", chars)

  chars[3] = 'z'

  fmt.Println(string(chars))

}

https://play.golang.org/p/N1sSsfIBQY


或者,您可以使用重新切片,如另一個答案中所示。


查看完整回答
反對 回復(fù) 2022-01-17
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個贊

使用切片索引刪除索引處的字符,并在那里放置一個新字符。


package main

import "fmt"


func main() {

  var chars = "abcdef"

  fmt.Println(string(chars[3]))

  chars = chars[:3] + "z" + chars[3+1:]

  fmt.Println(string(chars[3]))

}

輸出:


d

z

[:3]選擇切片中從開始到索引 3 的所有內(nèi)容,并且 [3+1:] 選擇從索引 (3+1) 到切片結(jié)尾的所有內(nèi)容。將您想要的字符放在兩個語句之間并將它們?nèi)糠旁谝黄?,以獲得在特定索引處替換字符的效果。


如果要替換特定字符(即字母“b”的所有(或部分)實(shí)例),可以使用strings.Replace函數(shù)


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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