go?字符串修改的操作代碼
字符串和切片(string and slice)
string底層就是一個byte的數(shù)組,因此,也可以進(jìn)行切片操作。
package main import ("fmt") func main(){ str :="hello world" s1 := str[0:5] fmt.Println(s1) s2 := str[6:] fmt.Println(s2)}
輸出結(jié)果:
hello
world
修改英文字符串
string本身是不可變的,因此要改變string中字符。需要如下操作:
package main import ( "fmt" ) func main() { str := "Hello world" s := []byte(str) //中文字符需要用[]rune(str) s[6] = 'G' s = s[:8] s = append(s, '!') str = string(s) fmt.Println(str) }
修改中文字符串
package main import ( "fmt" ) func main() { str := "你好,世界!hello world!" s := []rune(str) s[3] = '啊' s[4] = '鋒' s[12] = 'g' s = s[:14] str = string(s) fmt.Println(str) }
補充知識:Go語言實現(xiàn)修改字符串的三種方法
/* 修改字符串 注意:字符串是無法被修改的,只能復(fù)制原字符串,在復(fù)制的版本上修改 方法1:轉(zhuǎn)換為[]byte() 方法2:轉(zhuǎn)換為[]rune() 方法3:新字符串代替原字符串的子字符串,用strings包中的strings.Replace() */ func main() { ?? ?//方法1 ?? ?s1 := "abcdefgabc" ?? ?s2 := []byte(s1) ?? ?s2[1] = 'B' ?? ?fmt.Println(string(s2)) //aBcdefgabc ?? ?//方法2 ?? ?s3 := []rune(s1) ?? ?s3[1] = 'B' ?? ?fmt.Println(string(s3)) //aBcdefgabc ?? ?//方法3 ?? ?new := "ABC" ?? ?old := "abc" ?? ?s4 := strings.Replace(s1, old, new, 2) ?? ?fmt.Println(s4) //ABCdefgABC }
到此這篇關(guān)于go 字符串修改的文章就介紹到這了,更多相關(guān)go 字符串修改內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang泛型實現(xiàn)類型轉(zhuǎn)換的方法實例
將一個值從一種類型轉(zhuǎn)換到另一種類型,便發(fā)生了類型轉(zhuǎn)換,下面這篇文章主要給大家介紹了關(guān)于Golang泛型實現(xiàn)類型轉(zhuǎn)換的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12Go語言學(xué)習(xí)之接口類型(interface)詳解
接口是用來定義行為的類型,定義的行為不由接口直接實現(xiàn),而由通過方法由定義的類型實現(xiàn),本文就來和大家詳細(xì)講講Go語言中接口的使用吧2023-03-03golang協(xié)程池模擬實現(xiàn)群發(fā)郵件功能
這篇文章主要介紹了golang協(xié)程池模擬實現(xiàn)群發(fā)郵件功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05