變數的資料型別:
浮點型
因地制宜為變數賦予核實的資料型別,例如年齡,一般人不會超過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 ...