Go核心開發學習筆記 三 基本資料型別

2021-09-19 18:32:41 字數 1917 閱讀 7171

變數的資料型別:

浮點型

因地制宜為變數賦予核實的資料型別,例如年齡,一般人不會超過255歲,所以var age byte 就可以了,沒有必要為age賦乙個int64,浪費了很多位元組的變數。

也被稱作保小不保大原則,如果不確定數量就稍微用大一點,因為現在硬體能力已經不是當前計算機的瓶頸。

浮點型資料在計算機中儲存分三部分:符號位,指數字,尾數字。

儲存過程中,尾數部分可能丟失,造成精度損失。

雙精度比單精度更加精確,一般約定俗成浮點數使用float64。

golang浮點型別有固定的範圍和字段長度,不受os影響,和int不一樣,沒有系統預設,只有float32和float64。

golang浮點型預設宣告為float64。

float形式一定要有小數點,例如0.123可以寫為 num = .123。

支援科學計數法: num := 5.1234e(e)2 //其實就是512.34,e(e)x 為 10^x 次方,大小寫e不影響科學計數法,x也可以為負數,x^-1即1/x。

沒有char和varchar概念,如果是單個字元,則ascii,使用byte型別來表示所有單個字元,如果很多字元連在一起就是string: var c1 byte = 『a』。

golang的字串是由位元組組成。

如果儲存的字元在ascii表,可以直接使用byte輸出,直接輸出為碼值;使用printf %c輸出為準確的ascii字元。

如果儲存的字元大於255,使用int型別儲存,例如檢視漢字的碼值,可以使用printf %d輸出漢字的碼值。

字元常量需要用』'括起來。

golang中,字元本質是乙個整數,直接輸出時,是該字元對應的utf-8編碼的碼值。

同理根據第6條,上述可以給某個變數直接賦值乙個整數,格式化輸出%c,則輸出該數字對應的uni-code字元。

根據6,7條,則可以判定,字元是可以運算的,通過這種字元碼值相加方式,將和格式化輸出為%c,則會出現新的uni-code字元。

舉例:

package main

import "fmt"

func main()

9.字元型儲存到計算機中,需要將字元對應的碼值(整數)找出來。

儲存: 字元–>找到對應碼值–>轉換為二進位制–>儲存

讀取: 讀取二進位制–>對應碼值–>轉換為字元–>讀取

字元和碼值都是事先規定好的,不可以修改。

10. go語言的編碼都統一成utf-8,不再涉及gbk,gb2312,不會再出現亂碼問題。

布林型bool的tips:

只有兩個值:true和false,不可以取什麼空值。

布林型占用乙個位元組,使用unsafe.sizeof()檢視變數大小。

主要用於邏輯運算,一般用於流程控制,if,for等。

字串型string的tips:

很多的字元拼接到一起當做字串,golang語言字串是眾多字元連線起來的字串行。

使用utf-8編碼表示unicode文字,亂碼不再是問題。

golang字串是不可變的。

字串兩種表現形式:

雙引號:"" 會識別轉義字元,例如\n就是會換行,不會輸出\n這種字串效果

反引號:`` 原生輸出所有字元,轉義字元失效,類似python中 var1=r』』

package main

import "fmt"

func main()

整型 0

浮點 0

字串 「」

布林 false

package main

import "fmt"

func main()

Go語言學習筆記(二)基本資料

資料型別 1.基礎型別 2.聚合型別 陣列,結構體 3.引用型別 slice,map,chan,pointer,func 4.介面型別 rune int32 byte uint8,強調乙個值是原始資料,而非量值 uintptr,無符號整數,大小並不明確,但足以儲存指標 d,o,x,x 十進位制,八進...

python學習筆記三 5 基本資料型別

單行 字串 或者 字串 多行 字串 字串 索引 使用獲取字串乙個字元。字串 m 切片 使用獲取字串子串。字串 m n 或者 字串 m n k k表示步長,1 表示反寫字元。m缺失表示至開頭,n缺失表示至結尾。一二三四五六 3 表示 一二 轉義符 b 回退 r 回車 n 換行 1 星期字串 weeks...

GO學習筆記 4 資料型別之基本資料型別

go語言的字元有以下兩種型別 byte型別 是uint8的別名,代表乙個ascii碼。rune型別 是int32的別名,代表乙個utf 8字元,由乙個或多個byte組成。例如 乙個中文字元或者日文字元。字串底層是乙個byte陣列,所以可以和byte型別相互轉換,字串的長度是byte位元組的長度。s ...