bool类型数组转换成一个整数_Go 学习笔记 02 | 基本数据类型以及 byte 和 rune 类型...
一、基本數(shù)據(jù)類型
unsafe.Sizeof() 查看不同長(zhǎng)度的整型在內(nèi)存中的存儲(chǔ)空間。
類型轉(zhuǎn)換,高位向低位轉(zhuǎn)換要注意溢出。
數(shù)字字面量語(yǔ)法。
64 位系統(tǒng)中 Go 語(yǔ)言中浮點(diǎn)數(shù)默認(rèn)是 float64。
二、Golang 中 float 精度丟失問題
利用第三方包:http://github.com/shopspring/decimal
bool 類型變量的默認(rèn)值為 false。
Go 語(yǔ)言不允許將整型強(qiáng)制轉(zhuǎn)換為布爾型,布爾型無(wú)法參與數(shù)值運(yùn)算,也無(wú)法與其他類型進(jìn)行轉(zhuǎn)換。
三、字符串
轉(zhuǎn)義字符
- n 表示換行
- 表示輸出
多行字符串
- 使用反引號(hào) ` 表示多行。
一個(gè)漢字占用三個(gè)字節(jié)。
+ 可以拼接字符串,如有多行拼接,則 + 寫在右邊,Sprintf 可以拼接字符串賦值給一個(gè)變量。
Split 分割字符串,參數(shù):第一個(gè)是拆分字符串,第二個(gè)是以什么分隔符進(jìn)行拆分。
Join 把切片鏈接成字符串,參數(shù):第一個(gè)是切片數(shù)組,第二個(gè)是以什么鏈接符進(jìn)行鏈接。
Index 是返回下標(biāo)位置,查找不到返回 -1。
四、byte 和 rune 類型
Golang 中定義字符為 int 類型,直接輸出 byte 的時(shí)候輸出的是這個(gè)字符對(duì)應(yīng)的 ASCII 值。
Golang 中漢字是使用 UTF-8 編碼,Unicode 編碼后對(duì)應(yīng)的十進(jìn)制值是 int 類型。每個(gè)漢字占三個(gè)字節(jié),每個(gè)字母占一個(gè)字節(jié)。
unsafe.Sizeof() 不能查看 string 類型數(shù)據(jù)所占用的存儲(chǔ)空間。
循環(huán)輸出字符串中的字符
- byte:不能正確輸出漢字
- rune:能正確輸出漢字
修改字符串
如果有漢字,需要通過 rune 將 string 強(qiáng)制類型轉(zhuǎn)換成 rune,輸出的時(shí)候再轉(zhuǎn)換成 string。
五、類型轉(zhuǎn)換
建議從低位轉(zhuǎn)換成高位。
六、算數(shù)運(yùn)算符
Golang 中數(shù)值型不能直接轉(zhuǎn)換成 bool 型,bool 型也不能直接轉(zhuǎn)換成數(shù)值型。
自增 ++ 和自減 -- 不是 Golang 中的算數(shù)運(yùn)算符,屬于單獨(dú)語(yǔ)句。
Golang 中 ++ 和 -- 只能單獨(dú)使用,不能賦值。Golang 中 ++ 和 -- 只能寫在后面,不能寫在前面。
取余:余數(shù) = 被除數(shù) - (被除數(shù) / 除數(shù)) * 除數(shù)
練習(xí)
交換兩個(gè)變量的值:
- 用中間變量:tmp = a, a = b, b = tmp
- 不能使用中間變量:a = a + b, b = a - b, a = a - b
七、位運(yùn)算
左移 n 位:乘以 2 的 n 次方
右移 n 位:除以 2 的 n 次方
八、參考教程
Golang教程_Go語(yǔ)言Beego入門實(shí)戰(zhàn)教程-2020年5月錄制 50講之后是Beego教程_嗶哩嗶哩 (゜-゜)つロ 干杯~-bilibili?www.bilibili.com 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的bool类型数组转换成一个整数_Go 学习笔记 02 | 基本数据类型以及 byte 和 rune 类型...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在php中插入数据并修改,php怎么
- 下一篇: php suse 安装mysql_SUS