精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Golang 中的 String、rune 和 byte,你了解了嗎?

開發 前端
Go語言中,string?就是只讀的采用utf8?編碼的字節切片(slice) 因此用len函數獲取到的長度并不是字符個數,而是字節個數。 for循環遍歷輸出的也是各個字節。

解釋

String

Go語言中,string就是只讀的采用utf8編碼的字節切片(slice) 因此用len函數獲取到的長度并不是字符個數,而是字節個數。 for循環遍歷輸出的也是各個字節。

rune

rune是int32的別名,代表字符的Unicode編碼,采用4個字節存儲,將string轉成rune就意味著任何一個字符都用4個字節來存儲其unicode值,這樣每次遍歷的時候返回的就是unicode值,而不再是字節了,這樣就可以解決亂碼問題了

byte

bytes操作的對象也是字節切片,與string的不可變不同,byte是可變的,因此string按增量方式構建字符串會導致多次內存分配和復制,使用bytes就不會因而更高效一點

轉換方式

String、bytes 相互轉換

String to bytes

func main() {
 str := "Hello, Golang!"
 fmt.Println(string2bytes1(str))
 fmt.Println(string2bytes2(str))
 fmt.Println(string2bytes3(str))
}

func string2bytes1(str string) []byte {
 bs := make([]byte, 0)
 for i := 0; i < len(str); i++ {
  bs = append(bs, str[i])
 }
 return bs
}

func string2bytes2(str string) []byte {
 return []byte(str)
}

func string2bytes3(s string) []byte {
 sh := (*reflect.StringHeader)(unsafe.Pointer(&s))
 bh := reflect.SliceHeader{
  Data: sh.Data,
  Len:  sh.Len,
  Cap:  sh.Len,
 }
 return *(*[]byte)(unsafe.Pointer(&bh))
}

前兩個方法是非常標準的轉換方式,第三種方式使用了 unsafe 和 reflect 處理,是個不安全的做法,而且 StringHeader 在我使用的 1.21 已經廢棄了。

bytes to String

func main() {
 str := "Hello, Golang!"
 bs := string2bytes3(str)
 fmt.Println(bytes2string1(bs))
 fmt.Println(bytes2string2(bs))
}

func bytes2string1(bs []byte) string {
 return string(bs)
}

func bytes2string2(bs []byte) string {
 return *(*string)(unsafe.Pointer(&bs))
}

第一種轉換也是一個非常標準的轉換方式,第二個方式使用了不安全的做法。

String、rune 相互轉換

String to rune

func main() {
 str := "Hello, 中國!"

 fmt.Println(string2rune1(str))
 fmt.Println(string2rune2(str))
}

func string2rune1(str string) []rune {
 rs := make([]rune, 0)
 for _, r := range str {
  rs = append(rs, r)
 }
 return rs
}

func string2rune2(str string) []rune {
 return []rune(str)
}

這里的 for range 和上面 for index 是不一樣的,索引字符串產生字節。For range 循環每次迭代都會解碼一個 UTF-8 編碼的符文,因此值類型是 rune。

rune to String

func main() {
 str := "Hello, 中國!"

 rs := string2rune2(str)
 fmt.Println(rune2string1(rs))
}

func rune2string1(rs []rune) string {
 return string(rs)
}

rune、bytes 相互轉換

[]rune 和 []byte 的相互轉換需要先轉成字符串再轉換。

func main() {
 str := "Hello, 中國!"

 rs := string2rune1(str)
 bs := string2bytes1(str)

 convertedBytes := rune2bytes(rs)
 convertedRunes := bytes2rune(bs)
 fmt.Println(bs)
 fmt.Println(convertedBytes)
 fmt.Println(rs)
 fmt.Println(convertedRunes)
}

func rune2bytes(rs []rune) []byte {
 return []byte(string(rs))
}

func bytes2rune(bs []byte) []rune {
 return []rune(string(bs))
}

總結

希望大家通過這篇文章可以鞏固自己對這幾種類型的理解,以及更方便的對它們進行轉換。

責任編輯:武曉燕 來源: 愛發白日夢的后端
相關推薦

2023-11-27 00:48:46

displayvisibility

2023-12-14 12:55:41

Pythondel語句

2023-06-26 07:32:43

Kubernetes容器

2023-11-06 17:37:17

技術架構任務隊列

2024-03-20 08:31:40

KotlinExtension計算

2022-10-24 08:45:23

數據庫應用場景區塊鏈

2024-02-19 08:40:22

2023-05-09 09:00:20

版本Canary框架

2024-01-03 08:08:51

Pulsar版本數據

2025-02-17 08:18:27

C#TypeScriptJavaScript

2023-09-27 16:29:55

開發團隊信息

2023-10-12 16:39:00

2022-07-18 09:41:29

屬性類型安全Spring

2023-05-15 08:16:33

Google I/OWeb平臺

2010-08-29 21:09:57

DHCP協議

2023-09-27 07:35:27

2024-01-29 07:43:42

Java獨占鎖共享鎖

2023-09-22 08:01:10

2023-03-29 08:24:46

Rune類型開源項目

2024-03-15 08:23:26

異步編程函數
點贊
收藏

51CTO技術棧公眾號

国产欧美精品aaaaaa片| 日本久久久久久久| 国产人妻精品午夜福利免费| 麻豆蜜桃在线| 久久嫩草精品久久久精品| 国产精品日日做人人爱| 麻豆国产尤物av尤物在线观看| 好久没做在线观看| 久久亚洲二区三区| 91免费电影网站| 成人免费视频毛片| 99中文字幕一区| 欧美一级做性受免费大片免费| 91看片一区| 亚洲日本在线视频观看| 鲁丝片一区二区三区| 91午夜交换视频| 国产婷婷精品| 久久久国产精品x99av| 久久亚洲AV成人无码国产野外 | 亚洲国产日韩精品在线| 大j8黑人w巨大888a片| 亚洲欧美视频一区二区| 99视频国产精品| 91精品国产99久久久久久红楼| 天天做夜夜爱爱爱| 台湾色综合娱乐中文网| 欧美一区二区日韩| 午夜在线观看av| 不卡av影片| 午夜精品福利一区二区三区av| 精品无码久久久久国产| 国产精品无码久久av| 久久天天综合| 欧美一区三区三区高中清蜜桃| 亚洲国产无码精品| 成人动态视频| 精品免费国产一区二区三区四区| av影院在线播放| 瑟瑟视频在线| 久久一二三国产| 国产一区二区三区色淫影院| 精品人妻aV中文字幕乱码色欲| 国产综合视频| 久久成人精品一区二区三区| 91制片厂在线| 香蕉国产精品| 自拍亚洲一区欧美另类| 亚洲精品一区二区三区影院忠贞| 成人豆花视频| 欧美老肥妇做.爰bbww| www.日日操| 欧美三级精品| 欧美在线视频不卡| 国产一级做a爰片久久| 我爱我色成人网| 色av综合在线| 99草草国产熟女视频在线| 香蕉视频亚洲一级| 欧美亚洲图片小说| 最新中文字幕免费视频| 国产一区精品福利| 777久久久精品| 一二三级黄色片| 日韩亚洲精品在线观看| 精品蜜桃在线看| 中文字幕av网址| 夜夜春成人影院| 国产亚洲精品一区二555| 99久久精品免费视频| 青青草97国产精品麻豆| 久久韩国免费视频| 国产极品国产极品| 亚洲激情黄色| 国产精品久久久久久久午夜| 进去里视频在线观看| 精品在线播放免费| 国产91视觉| 免费在线黄色电影| 亚洲欧美在线aaa| 天堂8在线天堂资源bt| 日韩伦理在线| 7777精品伊人久久久大香线蕉超级流畅 | 日本中文字幕精品| 久久久伦理片| 永久免费精品影视网站| 一区二区视频免费看| 久久99精品久久久久久国产越南 | 欧美主播福利视频| 久久夜色精品国产噜噜亚洲av| 99久久精品费精品国产| 久久成人亚洲精品| 成人在线免费看视频| 毛片av中文字幕一区二区| 福利视频一区二区三区| 日本午夜在线视频| 亚洲视频 欧洲视频| 久艹在线免费观看| 久久久精品一区二区毛片免费看| 色又黄又爽网站www久久| 91极品视频在线观看| 136国产福利精品导航网址应用| 欧美日韩国产高清一区二区| 不许穿内裤随时挨c调教h苏绵| 国产精品传媒麻豆hd| 日韩一级黄色大片| 无码人妻精品一区二区中文| 久久一区91| 91精品国产成人| 国产精品色综合| 久久综合999| 国产成人亚洲综合无码| 精品视频在线一区二区在线| 精品国产制服丝袜高跟| 国产三级黄色片| 国产精品久久久久久久免费软件| 91高清视频免费观看| 国产精品久久久久精| 91热门视频在线观看| 一本色道久久88亚洲精品综合| www免费在线观看| 色八戒一区二区三区| 尤物网站在线观看| 欧美日本亚洲韩国国产| 国产专区精品视频| 国产福利电影在线| 欧美视频免费在线| 91精产国品一二三| 在线成人超碰| 国产色综合天天综合网| 国产福利在线| 欧洲精品在线观看| 国产三级av在线播放| 久久福利影视| 久久人人爽爽人人爽人人片av| 国产鲁鲁视频在线观看免费| 欧美日韩久久久久| 中文字幕精品视频在线| 黄色成人精品网站| 成人xxxxx色| 中文字幕有码在线观看| 欧美高清视频不卡网| 国产又色又爽又高潮免费 | 黄色一级在线视频| 国产视频一区二区在线播放| 日韩中文字幕欧美| 亚洲熟女乱色一区二区三区久久久| 国产精品一级黄| 中文字幕久久一区| 国产aⅴ精品一区二区四区| 日韩在线不卡视频| 国产精品色综合| 一区二区在线观看视频| 一卡二卡三卡四卡五卡| 午夜激情一区| 国产精品久久一区二区三区| 丁香花视频在线观看| 亚洲风情亚aⅴ在线发布| 国产在线视频卡一卡二| 白白色亚洲国产精品| 精品久久一二三| 黄色不卡一区| 国产日韩欧美黄色| 米奇777四色精品人人爽| 欧美麻豆精品久久久久久| 欧美88888| 国产美女精品一区二区三区| 99国产精品白浆在线观看免费| 深夜视频一区二区| 一区二区三区四区在线观看视频 | 日韩欧美精品在线观看| 美女100%无挡| 久久精品99国产精品| 性欧美18一19内谢| 99国产精品久久一区二区三区| 精品国产一区二区三区在线观看| 日本va欧美va国产激情| 久久综合给合久久狠狠狠97色69| 日韩一级免费看| 欧美一区二区三区久久| 国产精品久久久久久av福利| 久久黄色美女电影| 日韩一区二区在线播放| av资源免费观看| 国产精品网站在线播放| 超级砰砰砰97免费观看最新一期| 日韩大片在线播放| 成人av免费看| 98精品国产高清在线xxxx天堂| 男人操女人动态图| 久久精品国产免费| 国产美女作爱全过程免费视频| 国产精品久久久久久妇女| 日韩一区二区精品视频| 色呦呦中文字幕| 欧美日韩国产一级二级| 日韩成人免费在线视频| 国产精品久久777777| 黄色av电影网站| 免费成人小视频| 波多野结衣家庭教师在线播放| 日韩av资源网| 91精品视频一区| 625成人欧美午夜电影| 不用播放器成人网| 国产主播福利在线| 精品国产91洋老外米糕| 在线观看免费观看在线| 亚洲国产日韩在线一区模特| 成人无码精品1区2区3区免费看| 国内国产精品久久| 哪个网站能看毛片| 亚洲国产清纯| 永久免费看av| 亚洲精品一区二区在线看| 蜜桃麻豆www久久国产精品| 伊人久久大香伊蕉在人线观看热v| 久久久91精品国产| 国产一级在线| 日韩精品欧美激情| 六月丁香综合网| 欧美精品视频www在线观看| 香蕉影院在线观看| 午夜精品123| 久草国产在线观看| 亚洲另类在线视频| 91传媒免费观看| 国产精品国产三级国产有无不卡 | 久久久午夜影院| 亚洲日本中文字幕区| 羞羞在线观看视频| 国产婷婷色一区二区三区 | 视频欧美精品| 日本a级片电影一区二区| www成人免费观看| 久久久久中文字幕| 高清电影在线观看免费| 欧美激情videoshd| 日本无删减在线| 久99九色视频在线观看| 国产传媒在线播放| 久久综合亚洲社区| 天天在线视频色| 国产一区二区三区三区在线观看 | 蜜臀国产一区| 欧洲亚洲在线视频| 欧美日韩美女| 国产精品96久久久久久| 日韩在线观看不卡| 成人激情视频在线| 日本一区精品视频| 成人自拍视频网站| 开心激情综合| 另类欧美小说| 日韩欧美综合| 中国 免费 av| 伊人久久综合| 免费看国产一级片| 久久精品女人天堂| 777视频在线| 国产美女在线精品| 成人性生活免费看| 欧美精彩视频一区二区三区| 日日操免费视频| 亚洲黄网站在线观看| 日本免费观看视| 色婷婷久久久久swag精品| 免费又黄又爽又猛大片午夜| 欧美日韩在线电影| 国产福利视频导航| 日韩高清av一区二区三区| 高清性色生活片在线观看| www.亚洲男人天堂| 超清av在线| 国产精品美乳在线观看| 粉嫩一区二区三区在线观看| 国产乱码一区| 日韩av自拍| 黄页免费在线观看视频| 日韩高清一级片| 久久久九九九热| 26uuu亚洲综合色欧美| 久久久久久成人网| 亚洲综合av网| 一区二区三区麻豆| 日韩欧美一级在线播放| 你懂得在线网址| 久久成人免费视频| 姬川优奈av一区二区在线电影| 高清欧美电影在线| 国产精品亚洲d| 91视频99| 日韩电影一区| 精品无码一区二区三区在线| 麻豆一区二区三区| 黄色av网址在线观看| 国产精品久久久久国产精品日日| 四季av中文字幕| 亚洲国产精品一区二区www| 国产成人av免费| 亚洲国产免费av| 午夜在线观看视频| 欧美最近摘花xxxx摘花| 欧美日韩黄色| 午夜精品一区二区在线观看| 亚洲日韩视频| 国内av免费观看| 久久新电视剧免费观看| 小向美奈子av| 欧美羞羞免费网站| 亚洲aaaaaaa| 久久久久久成人| 成人51免费| 亚洲精品久久久久久一区二区| 91日韩在线| 北条麻妃在线一区| 99久久精品免费看国产| 四虎精品免费视频| 欧美三级韩国三级日本三斤| 粉嫩小泬无遮挡久久久久久| 波霸ol色综合久久| 成人在线黄色| 日本不卡免费新一二三区| av不卡在线| 免费黄色三级网站| 亚洲五月六月丁香激情| 亚洲免费不卡视频| 美日韩精品免费视频| 亚洲热av色在线播放| 亚洲综合av一区| 日韩av在线播放中文字幕| 国产精品815.cc红桃| 欧美日韩一区二区免费视频| 日本免费一区视频| 国内成人精品一区| 黄色网一区二区| 一二三四视频社区在线| www.欧美日韩| 亚洲男人的天堂在线视频| 亚洲精品久久久久| 伊人网在线播放| 欧美二区三区| 久久中文欧美| 欧美性受xxxx黑人| 欧美精品久久99| 91在线中文| 草莓视频一区| 99国产精品久久久久久久 | 日本视频在线观看免费| 亚洲美女精品成人在线视频| 成人免费影院| 视频一区二区在线| 日韩**一区毛片| 国产精品麻豆免费版现看视频| 香蕉乱码成人久久天堂爱免费| 天天干天天操天天操| 一区二区欧美亚洲| 婷婷久久免费视频| 9191国产视频| 不卡的av中国片| 久久精品视频2| 在线观看欧美日韩国产| 2019中文亚洲字幕| 亚洲精品蜜桃久久久久久| 99re66热这里只有精品3直播 | 羞羞视频在线观看不卡| 999在线观看免费大全电视剧| 亚洲人和日本人hd| 国产一级不卡毛片| 国产精品天美传媒| 99久久精品国产色欲| 久久全球大尺度高清视频| 国产成人精品免费视| 亚洲涩涩在线观看| 亚洲一本大道在线| 黄色av网站在线| 亚洲xxx视频| 久久激情久久| 神马午夜精品91| 亚洲精品www久久久| jizz免费一区二区三区| 亚洲五码在线观看视频| 91麻豆精品在线观看| 国产精品成人久久久| 久久久久久久久电影| 国产欧美久久一区二区三区| 成人免费黄色av| 色综合欧美在线视频区| 最新av在线播放| 欧美一区二区高清在线观看| 国产一区二区三区不卡在线观看| 伊人久久久久久久久久久久久久| 91国偷自产一区二区三区成为亚洲经典 | 亚洲国产成人一区| 欧美日韩精品免费观看视完整| 久久涩涩网站| 国产乱码一区二区三区| www.久久久久久久| 久久免费视频网站| 欧美日韩一区二区综合|