您的位置:首頁 > 教程 > 其他腳本 > go?字符串修改的操作代碼

go?字符串修改的操作代碼

2022-06-18 12:05:08 來源:易采站長站 作者:

go?字符串修改的操作代碼

字符串和切片(string>

string底層就是一個byte的數組,因此,也可以進行切片操作。eHx站長之家-易采站長站-Easck.Com

package main
import ("fmt")
func main(){
    str :="hello world"
    s1 := str[0:5]
    fmt.Println(s1)
    s2 := str[6:]
    fmt.Println(s2)}

輸出結果:eHx站長之家-易采站長站-Easck.Com

helloeHx站長之家-易采站長站-Easck.Com
worldeHx站長之家-易采站長站-Easck.Com

修改英文字符串

string本身是不可變的,因此要改變string中字符。需要如下操作:eHx站長之家-易采站長站-Easck.Com

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語言實現修改字符串的三種方法eHx站長之家-易采站長站-Easck.Com

/*
修改字符串
注意:字符串是無法被修改的,只能復制原字符串,在復制的版本上修改
方法1:轉換為[]byte()
方法2:轉換為[]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
}

到此這篇關于go 字符串修改的文章就介紹到這了,更多相關go 字符串修改內容請搜索易采站長站以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持易采站長站!eHx站長之家-易采站長站-Easck.Com

如有侵權,請聯系QQ:279390809 電話:15144810328

相關文章

  • 使用Go基于WebSocket構建千萬級視頻直播彈幕系統的代碼詳解

    使用Go基于WebSocket構建千萬級視頻直播彈幕系統的代碼詳解

    (1)業務復雜度介紹 開門見山,假設一個直播間同時500W人在線,那么1秒鐘1000條彈幕,那么彈幕系統的推送頻率就是: 500W * 1000條/秒=50億條/秒 ,想想B站2019跨年晚會那次彈幕系統得是
    2020-07-08
  • golang中import cycle not allowed解決的一種思路

    golang中import cycle not allowed解決的一種思路

    發現問題 項目中碰到了一些問題,使用了指針函數的思路來解決相應問題 在實際項目中,因為兩個項目互相引了對方的一些方法,導致了循環引用的錯誤,原本可以使用http的請求來解
    2019-11-10
  • 從go語言中找&和*區別詳解

    從go語言中找&和*區別詳解

    *和的區別 : 是取地址符號 , 即取得某個變量的地址 , 如 ; a*是指針運算符 , 可以表示一個變量是指針類型 , 也可以表示一個指針變量所指向的存儲單元 , 也就是這個地址所存儲的值 . 從
    2020-06-23
  • Go語言中利用http發起Get和Post請求的方法示例

    Go語言中利用http發起Get和Post請求的方法示例

    關于 HTTP 協議 HTTP(即超文本傳輸協議)是現代網絡中最常見和常用的協議之一,設計它的目的是保證客戶機和服務器之間的通信。 HTTP 的工作方式是客戶機與服務器之間的 “請求-應答
    2019-11-10
  • golang如何實現mapreduce單進程版本詳解

    golang如何實現mapreduce單進程版本詳解

    前言 MapReduce作為hadoop的編程框架,是工程師最常接觸的部分,也是除去了網絡環境和集群配 置之外對整個Job執行效率影響很大的部分,所以很有必要深入了解整個過程。元旦放假的第一天
    2019-11-10
  • Go打包二進制文件的實現

    Go打包二進制文件的實現

    背景 眾所周知,go語言可打包成目標平臺二進制文件是其一大優勢,如此go項目在服務器不需要配置go環境和依賴就可跑起來。 操作 需求:打包部署到centos7 筆者打包環境:mac os 方法:
    2020-03-11
  • GO語言實現簡單的目錄復制功能

    GO語言實現簡單的目錄復制功能

    本文實例講述了GO語言實現簡單的目錄復制功能。分享給大家供大家參考。具體實現方法如下: 創建一個獨立的 goroutine 遍歷文件,主進程負責寫入數據。程序會復制空目錄,也可以設
    2019-11-10
  • golang中定時器cpu使用率高的現象詳析

    golang中定時器cpu使用率高的現象詳析

    前言: 廢話少說,上線一個用golang寫的高頻的任務派發系統,上線跑著很穩定,但有個缺點就是當沒有任務的時候,cpu的消耗也在幾個百分點。 平均值在3%左右的cpu使用率。你沒有任務
    2019-11-10
色七七影院_香港三级台湾三级在线播放_男人放进女人阳道猛进猛出