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

為了賬號安全,請及時綁定郵箱和手機立即綁定

【學習打卡】第9天 深入Go底層原理,重寫Redis中間件實戰(zhàn) 第4章

標簽:
Go

课程名称:深入Go底层原理,重写Redis中间件实战

课程章节:数组,字符串,切片底层是一样的吗?

主讲老师:Moody

课程内容:

今天学习的内容包括:

字符串

Unicode字符集

UTF-8变长编码

字符串的访问

字符串的切分

课程收获:

字符串

  • Go中的字符串在runtime下都转化为stringStruct的结构体。
  • stringStruct由一个指针和int型的长度构成,因此unsafe.Sizeof(“xxx”)任意字符串都为16个字节。
  • 实际的字符串数据是存储在一个字节数组中,通过stringStruct.str指针指向这个数组。
  • stringStruct.len是字节长度,而不是字符长度。
// C:\Program Files\Go\src\runtime\string.go
type stringStruct struct {
	str unsafe.Pointer
	len int
}

Unicode字符集

  • 一种统一的字符集
  • 囊括了159种文字的144679个字符
  • 14万个字符至少需要3个字节表示

UTF-8变长编码

  • Unicode的一种变长格式
  • 128个US-ASCII字符只需一个字节编码
  • 西方常用字符需要两个字节
  • 其他字符需要3个字节,极少需要4个字节

字符串的访问

  • 对字符串使用len方法得到的是字节数不是字符数
  • 对字符串直接使用下标访问,得到的是字节
  • 字符串被range遍历时,被解码成rune类型的字符
  • UTF-8编码解码算法位于runtime/utf8.go

字符串的切分

  • 需要切分时:
    • 转为rune数组
    • 切片
    • 转为string
    • s = string([]rune(s)[:3])

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
PHP開發(fā)工程師
手記
粉絲
1
獲贊與收藏
0

關(guān)注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

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

幫助反饋 APP下載

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

公眾號

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

舉報

0/150
提交
取消