第三章 基礎數(shù)據(jù)類型

數(shù)據(jù)類型分類

基礎類型

  • 數(shù)字
  • 字符串
  • 布爾型

復合類型

  • 數(shù)組
  • 結構體

引用類型

  • 指針
  • 切片
  • 字典
  • 函數(shù)
  • 通道

接口類型

3.1 整型

有符號整數(shù)類型

  • int、nt8、int16、int32、int64
  • 值域:-2^{n-1}2^{n-1}-1

無符號整數(shù)類型

  • uint、uint8、uint16、uint32、uint64
  • 值域:0到2^n-1

Unicode字符rune類型

  • = int32類型,表示一個Unicode碼點

byte類型

  • = uint8類型,一般用于強調(diào)數(shù)值是一個原始的數(shù)據(jù)而不是一個小的整數(shù)

無符號整數(shù)類型 uintptr

  • 沒有指定具體的bit大小但足以容納指針
  • 底層編程時需要(如:與C語言函數(shù)庫或操作系統(tǒng)交互)

運算符

按照優(yōu)先級遞減的順序排序

操作符 備注
* 乘法
/ 除法
% 取模
<< 左移 ,該運算等價于乘以 2^n
>> 右移,該運算等價于除以 2^n
& 位運算 AND(與) 不區(qū)分有無符號
&^ 位清空(AND NOT)不區(qū)分有無符號
+ 加法
- 減法
| 位運算 OR(或) 不區(qū)分有無符號
^ 位運算 XOR(異或) 不區(qū)分有無符號
== 等于比較
!= 不等于比較
< 大于
<= 大于等于
> 小于
>= 小于等于
&& 邏輯運算“與”
|| 邏輯運算“或”

3.2 浮點數(shù)

float32

  • math.MaxFloat32 表示float32能表示的最大數(shù)值

float64

  • math.MaxFloat64表示float64能表示的最大數(shù)值

3.3 復數(shù)

complex64

  • 對應float32浮點數(shù)精度

complex128

  • 對應float64浮點數(shù)精度

內(nèi)置函數(shù)

complex()

  • 用于構建復數(shù)

real()

  • 返回復數(shù)的實部

imag()

  • 返回復數(shù)的虛部(浮點數(shù)面值或十進制整數(shù)面值后面加一個i)

math/cmplx 包提供各種函數(shù)

3.4 布爾型

布爾類型的值:true、false

  • 布爾值不會隱式轉換為數(shù)字值0或1

3.5 字符串

  • 字符串是一個不可改變的字節(jié)序列
  • 字符串的值是不可變的

字符串面值

  • 將一系列字節(jié)序列包含在雙引號內(nèi)
  • 原生的字符串面值形式:...

字符串和Byte切片

標準庫中的包:

  • bytes
  • strings:提供字符串的查詢、替換、比較、截斷、拆分、合并等功能
  • strconv:提供布爾型、整數(shù)、浮點數(shù)和對應字符串的相互轉化
  • unicode:提供IsDigit、IsLetter、IsUpper和IsLower等功能,用于給字符分類

字符串和數(shù)字的轉換

  • 將整數(shù)轉為字符串:
    • 1)用 fmt.Sprintf 返回一個格式化的字符串
    • 2)strconv.Itoa("")

3.6 常量

  • 常量表達式的值在編譯期計算
  • 常量的值不可修改

itoa常量生成器

  • 用于生成一組以相似規(guī)則初始化的常量
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容