一、變數的聲明方式(三種) 1、var a int = num 2、var a = num 3、a := num 二、字元類型使用細節 *Golang的字元使用UTF-8. 英文 -1 位元組;漢字-3個位元組 1、字元常量用單引號括起來。 eg: var c1 byte='a' 2、在Go中,字元的本 ...
一、變數的聲明方式(三種)
1、var a int = num
2、var a = num
3、a := num
二、字元類型使用細節
*Golang的字元使用UTF-8.
英文 -1 位元組;漢字-3個位元組
1、字元常量用單引號括起來。
eg: var c1 byte='a'
2、在Go中,字元的本質是一個整數,直接輸出時,是該字元對應的UTF-8的碼值
3、字元類型可以進行運算,相當於一個整數
三、布爾類型使用細節
1、bool類型占用1個位元組
2、只能取false true,無法強轉。即不能用0或非0整數替代false和true
四、字元串類型使用細節
Go的字元串是由單個位元組連接而來,而不是字元
1、簡單使用
2、Go中字元串不可變:一旦賦值,不可修改
3、字元串的兩種表現形式:
(1)雙引號:會識別轉義字元
(2)反引號:以字元串的原生形式輸出。
4、字元串拼接
五、各種類型變數的預設值
六、基本數據類型的相互轉換
Go在不能類型的變數之間賦值時需要顯示轉換。Golang中的數據類型不能自動轉換
註意:1、被轉換的是變數存儲的數據(即值),變數本身的數據類型並沒有變化
2、將大範圍->小範圍時,eg:int64->int8,編譯不會報錯,只是轉換結果按溢出處理(截斷),轉換時需要考慮範圍
eg: var num1 int64 = 999999
var num2 int8 = int8(num1)
fmt.Println("num2=",num2)
輸出結果為63。原因:999999對應二進位:11110100001000111111,截取後八位轉換為10進位為63
七:基本數據類型與string類型之間的轉換
1、基本數據類型轉string
方式一:fmt.Sprintf("%參數輸出類型",表達式)
方式二:使用strconv包的函數:
func FormatBool(b bool)string
func FormatInt(i int,base int)string
base int :轉換為多少進位的值(2-32)
func FormatFloat(f float64, fmt byte,prec ,bitSize int)string
2、string轉基本數據類型
註意事項:當字元串無法轉換為基本數據類型的值時,將使接收變數的值置為預設值(bool型為false)
func ParseInt(s string, base int, bitSize int) (i int64, err error) 接收ParseInt轉換後數據的類型必須為int64;bitSize值指的是string的值所屬範圍
func ParseFloat(s string, bitSize int) (f float64, err error)
接收ParseFloat轉換後的數據的類型必須為float64。當 bitSize=32 時,結果仍然是 float64 類型,但它可以轉換為 float32 而不會改變它的值
八、標識符
不能以單獨"_"作為標識符,但可以位於標識符首位;不能以數字開頭,且不包含“-”和空格
1)包名:package的名字和目錄保持一致
2)變數名、函數名、常量名首字母大寫表示公開,小寫表示私有