精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产嫩草一区二区三区在线观看 | 99热这里只有精品在线| 五月精品视频| 亚洲成人精品视频| 妓院一钑片免看黄大片| 18+激情视频在线| 26uuu欧美日本| 91精品国产自产在线观看永久| 亚洲av鲁丝一区二区三区 | 亚洲精品国产精品国自产观看| 91无套直看片红桃| 99综合视频| www.欧美精品一二三区| 色婷婷免费视频| 四虎影视国产精品| 色悠悠久久综合| 五月天激情图片| 国产专区在线播放| 国产成人综合精品三级| 国产精品久久久久久久久男| 久久久久久久蜜桃| 欧美韩国日本在线观看 | 91精品国产自产在线老师啪| 日韩av女优在线观看| 欧美在线观看视频一区| 精品国精品自拍自在线| 日本特黄a级片| 特黄毛片在线观看| 亚洲制服丝袜一区| 中文字幕中文字幕在线中一区高清 | 日韩三级高清在线| 国产aaaaa毛片| 麻豆国产在线| 一区二区不卡在线播放| 婷婷四房综合激情五月| 亚洲精品免费在线观看视频| 九色|91porny| 国产精品扒开腿做| 黄色片免费观看视频| 欧美视频四区| 久久国产精品久久久久久久久久 | 爱豆国产剧免费观看大全剧苏畅| 在线观看欧美日韩电影| 亚洲福利一区二区三区| 一二三在线视频| 免费av在线网址| 国产精品系列在线| 色乱码一区二区三在线看| 涩爱av在线播放一区二区| 粉嫩绯色av一区二区在线观看| 成人h视频在线观看播放| 中文字幕天堂在线| 日韩成人午夜精品| 国产精品久久久久7777婷婷| 免费在线观看av的网站| 日本vs亚洲vs韩国一区三区| 国产成人精品在线观看| 色老头一区二区| 日韩电影在线看| 青草青草久热精品视频在线观看| 日韩精品人妻中文字幕| 亚洲国产影院| 91精品国产免费久久久久久 | 欧美日韩三级一区| 国产在线视频综合| 牛牛电影国产一区二区| 夜夜嗨av一区二区三区四季av| 国产在线无码精品| 狂野欧美性猛交xxxxx视频| 一区二区三区在线观看动漫| 中文字幕乱码免费| 免费在线看电影| 婷婷激情综合网| 国产男女无遮挡| 久久青青视频| 欧美三级日本三级少妇99| 国产三级国产精品国产专区50| 欧美成人黄色| 欧美裸体bbwbbwbbw| 男插女视频网站| 国产精品中文字幕制服诱惑| 亚洲国内精品在线| 日韩一级av毛片| 五月天久久网站| 久久久久久伊人| 在线免费观看av网址| 麻豆精品新av中文字幕| 97久草视频| 久久久久久久影视| 亚洲青青青在线视频| 日韩网站在线免费观看| 欧美成人ⅴideosxxxxx| 欧美乱妇15p| 亚洲一区二区在线免费| 精品国产中文字幕第一页 | 黄色在线免费观看网站| 欧洲国产伦久久久久久久| 搡的我好爽在线观看免费视频| 91麻豆精品激情在线观看最新| 亚洲裸体xxxx| 青青青在线免费观看| 亚洲综合精品四区| 国产一区私人高清影院| 污视频在线免费观看| 日本一区二区成人| 免费一级特黄特色毛片久久看| 成人影院在线免费观看| 亚洲成色999久久网站| 五月婷婷六月香| 亚洲美女视频在线免费观看| 国产色综合天天综合网| 飘雪影视在线观看免费观看| 亚洲欧美偷拍卡通变态| 黄色av免费在线播放| 欧美视频二区欧美影视| 永久免费毛片在线播放不卡| 日韩精品――中文字幕| 激情五月婷婷综合| 色噜噜狠狠一区二区三区| 国产高清视频色在线www| 欧美日韩成人在线| 国产交换配乱淫视频免费| 欧美91视频| 国产精品一区久久久| 香蕉久久国产av一区二区| 亚洲精品日韩综合观看成人91| 在线免费视频a| 欧美日韩麻豆| 欧美精品www| 国产精品欧美亚洲| 中文字幕av一区 二区| 男人舔女人下面高潮视频| 韩国女主播一区二区三区| 在线成人激情视频| jizz国产在线观看| 91视频在线观看免费| 久久在线中文字幕| 巨大黑人极品videos精品| 亚洲午夜未满十八勿入免费观看全集| 亚洲国产精一区二区三区性色| 国产一区二区三区黄视频| 性高潮久久久久久久久| 小黄鸭精品aⅴ导航网站入口| 亚洲成色777777女色窝| 日韩毛片在线视频| 成人久久视频在线观看| 99热久久这里只有精品| 风间由美性色一区二区三区四区| 久久成年人视频| 99久久精品国产一区色| 成人欧美一区二区三区1314| 成年人三级黄色片| 久久精品国产大片免费观看| 国产精品永久免费| 求av网址在线观看| 日韩视频免费观看高清完整版在线观看| 国产美女高潮视频| 国产最新精品免费| 日韩精品免费一区| 国产欧美一区二区三区米奇| 午夜精品福利在线观看| 亚洲色图 校园春色| 色综合天天综合狠狠| 亚洲成人黄色av| 精品无人区卡一卡二卡三乱码免费卡 | 色窝窝无码一区二区三区成人网站| 亚洲一区二区三区四区五区黄 | 欧美aaaaaaaa牛牛影院| 欧美亚洲国产成人精品| 韩国中文免费在线视频| 欧美日韩免费一区二区三区 | 日韩午夜精品| 蜜桃在线一区二区三区精品| 日本欧美韩国| 久久亚洲精品一区二区| 亚洲精品免费在线观看视频| 狠狠爱在线视频一区| 中文字幕av久久爽一区| 久久99久久99| cao在线观看| 国产一区二区三区四区五区传媒| 国产免费一区视频观看免费| 在线看女人毛片| 日韩av影片在线观看| a片在线免费观看| 亚洲欧美另类图片小说| 亚洲黄色在线网站| 久久99国产精品成人| 成人午夜视频在线观看免费| av亚洲在线观看| 成人永久免费| 巨胸喷奶水www久久久免费动漫| 日韩视频欧美视频| 五月婷婷深深爱| 欧美美女一区二区| 精品国产免费观看| 综合自拍亚洲综合图不卡区| 日本丰满少妇裸体自慰| 久久综合综合久久综合| 国产成人无码a区在线观看视频| 国产欧美日韩精品一区二区三区| 99se婷婷在线视频观看| 国产另类xxxxhd高清| 欧美国产日韩一区二区| av播放在线观看| 精品成人一区二区三区| 无码久久精品国产亚洲av影片| 亚洲精品日韩综合观看成人91| 亚洲黄色小说视频| 成人av网在线| 奇米777在线视频| 人人爽香蕉精品| a在线视频观看| 欧美国产精品| 在线播放 亚洲| 国产在视频线精品视频www666| av免费精品一区二区三区| 91精品国产66| 欧美在线一区二区三区四| 怡红院在线观看| 中文字幕亚洲色图| 日韩二区三区| 亚洲精品国产拍免费91在线| h片在线免费看| 欧美理论片在线| 最近中文在线观看| 欧美日韩中文字幕日韩欧美| 国产亚洲第一页| 一区二区三区四区在线播放| 亚洲自拍偷拍图| 久久精品在线观看| 成人网站免费观看| 99精品久久只有精品| 日本wwwwwww| 国产黄色精品网站| 黄色a级三级三级三级| 国产制服丝袜一区| 国产永久免费网站| 国内精品久久久久影院色| 超碰在线播放91| 免费在线成人网| 欧美在线aaa| 蜜桃久久av一区| 最新中文字幕免费视频| 日韩av一区二| xxww在线观看| 国内精品视频一区二区三区八戒| 超碰成人在线播放| 久久成人免费电影| www.亚洲自拍| 国产激情一区二区三区四区 | 亚洲欧美自拍另类日韩| 全部av―极品视觉盛宴亚洲| 国产aaaaa毛片| 九一九一国产精品| 91丨porny丨九色| 懂色av一区二区三区免费看| 高清中文字幕mv的电影| a美女胸又www黄视频久久| 污片免费在线观看| 久久久久久毛片| 色婷婷国产精品免| 亚洲日穴在线视频| 久久久久久国产精品免费播放| 亚洲午夜影视影院在线观看| 尤物视频在线观看国产| 日本高清视频一区二区| 亚洲精品毛片一区二区三区| 欧美人与性动xxxx| 国产成人精品毛片| 日韩av在线最新| jizz在线观看| 欧美高清自拍一区| 亚洲精品中文字幕| 国产在线观看91精品一区| 老司机亚洲精品一区二区| 国产欧美日韩综合精品二区| 一呦二呦三呦国产精品| 天堂v在线视频| 亚洲免费精品| 国产精品久久a| 国产91精品一区二区麻豆亚洲| 精品无码在线视频| 亚洲欧洲av色图| 国产乡下妇女做爰| 欧美亚洲国产bt| 亚洲国产精品久久久久爰性色 | 麻豆tv免费在线观看| 久久久久中文字幕| 一区在线影院| 国产欧美日韩一区| 日韩激情免费| 国产原创中文在线观看| 蜜桃视频在线观看一区二区| 无码人妻久久一区二区三区蜜桃| 久久久一区二区三区| av最新在线观看| 欧美性精品220| av中文字幕播放| 一区二区欧美日韩视频| 欧美1—12sexvideos| 国产精品18久久久久久麻辣| 中文字幕亚洲在线观看| 亚洲高清精品中出| 国产一区导航| 老女人性生活视频| 国产精品污www在线观看| 国产福利拍拍拍| 日韩一区二区电影| av亚洲在线| 欧美有码在线视频| 51vv免费精品视频一区二区| 亚洲精美视频| 亚洲欧美春色| 国产污在线观看| 成人免费小视频| 国产精品午夜一区二区| 亚洲精品狠狠操| 少女频道在线观看高清| 成人精品久久久| 欧美色图国产精品| 国产二区视频在线播放| 成人av网站大全| 久久久久久久极品内射| 日韩一区二区三区在线| 日韩三级影院| 国产精品三级美女白浆呻吟| 免费黄色成人| 欧美成人黑人猛交| 99精品热视频| 天堂网av手机版| 日韩精品在线观看网站| 操喷在线视频| 国产精品一区而去| 在线播放亚洲| 一级黄色免费毛片| 亚洲欧美日韩国产综合在线 | 精品粉嫩超白一线天av| 91精品久久| 亚洲自拍偷拍区| 欧美激情1区2区| 日本中文字幕有码| 亚洲一区二区精品3399| 精品国产va久久久久久久| 久久伊人91精品综合网站| 日日夜夜亚洲| 日韩亚洲视频| 美腿丝袜在线亚洲一区| 美女网站视频色| 337p亚洲精品色噜噜狠狠| 成人无遮挡免费网站视频在线观看| 成人久久一区二区三区| 午夜国产一区| 精品国产乱码久久久久夜深人妻| 亚洲成人资源在线| 五月婷婷开心中文字幕| 国产成人精品免费久久久久 | 久热爱精品视频线路一| 欧美一级大片在线视频| 日韩精品一区二区免费| 99麻豆久久久国产精品免费| 亚洲午夜18毛片在线看| 亚洲天堂影视av| 欧美综合影院| 免费日韩在线观看| 国产suv精品一区二区三区| 日韩少妇高潮抽搐| 亚洲人成自拍网站| 精品美女一区| 久久www视频| 久久尤物电影视频在线观看| 91porny九色| 超薄丝袜一区二区| 精品视频在线你懂得| 国产精品亚洲二区在线观看| 国产精品久久毛片av大全日韩| www.亚洲黄色| 欧洲亚洲妇女av| 天堂美国久久| 91精品又粗又猛又爽| 日本高清不卡在线观看| 精品国产丝袜高跟鞋| 国内精品国语自产拍在线观看| 久久婷婷av| 欧美黄色一级网站| 亚洲精品中文字幕女同| 亚洲国产天堂| 日韩精品―中文字幕| 中文字幕在线不卡国产视频| 日韩一级片免费看| 国产精品亚洲激情| 亚洲午夜电影| 国精产品一区一区| 亚洲第一在线视频| 亚瑟国产精品| 国产精品69页| 亚洲电影一区二区三区| av大片在线播放| 麻豆av一区二区三区久久| 国产美女一区二区|