字元型別使用細節
1)字元常量是用單引號('')括起來的單個字元。例如:var c1 byte = 'a' var c2 int = '中' var c3 byte = '9'
2) go中允許使用轉義字元'\' 來將其後的字元轉變為特殊字元型常量。例如: var c3 char = '\n' // '\n' 表示換行符
4)在go中,字元的本質是乙個整數,直接輸出時,是該字元對應的utf-8編碼的碼值。
5)可以直接給某個變數賦乙個數字,然後按格式化輸出時%c, 會輸出該數字對應的unicode字元
6) 字元型別是可以進行運算的,相當於乙個整數,因為它都對應有unicode碼
[root@node3 shangxuetang]# cat char.go
package main
import "fmt"
func main() {
var c1 byte = 'a'
var c2 byte = '0' //字元的0
//當我們直接輸出byte值,就是輸出了對應的字元的碼值
fmt.println("c1 = ", c1)
fmt.println("c2 = ", c2)
//如果我們希望輸出對應字元,需要使用格式化輸出
fmt.printf("c1=%c c2=%c \n", c1, c2)
//var c3 byte = '北' //overflow溢位
var c3 int = '北'
fmt.printf("c3=%c c3對應碼值=%d \n", c3, c3)
//可以直接給某個變數賦乙個數字,然後按格式化輸出時%c,會輸出該數字對應的unicode 字元
var c4 int = 22269 // 22269 -> '國' 120-> 'x'
fmt.printf("c4=%c \n", c4)
//字元型別是可以進行運算的,相當於乙個整數,運輸時是按照碼值進行
var n1 = 10 + 'a' //10 + 97 = 107
fmt.printf("n1=", n1)
檢視輸出結果:
[root@node3 shangxuetang]# go run char.go
c1 = 97
c2 = 48
c1=a c2=0
c3=北 c3對應碼值=21271 //(21271是'北' 字的unicode編碼10進製的編碼)
c4=國
n1=%!(extra int32=107)
對上面**說明
1)如果我們儲存的字元在 ascii表的比如[0-1,a-z,a-z...]直接可以儲存到byte
2) 如果我們儲存的字元對應碼值大於255,這時我們可以考慮使用int型別儲存。
3) 如果我們需要安裝字元的方式輸出,這時我們需要格式化輸出,即 fmt.printf("%c", c1)
Golang 資料型別 字元型別
基本介紹 golang 中沒有專門的字元型別,如果要儲存單個字元 字母 一般使用 byte 來儲存。字串就是一串固定長度的字元連線起來的字串行。go 的字串是由單個位元組連線起來的。也就是說對於傳統的字串是由字元組成的,而 go 的字串不同,它是由位元組組成的。案例演示 對上面 說明 1 如果我們儲...
GoLang學習之資料型別
go語言按類別有以下幾種資料型別 注意 golang中還有個rune型別,它等價於int32型別。golang是靜態型別的程式語言,所有資料的型別在編譯期確定了。而且 golang中即使是底層存的是乙個型別,宣告的型別不一樣,也要強制轉換才能互用。在go 語言裡面沒有隱式轉換,遇到不同型別想互用,只...
Golang 資料型別
注釋 行注釋 塊注釋 識別符號 除了數字開頭的不允許,符號開頭的不允許,關鍵字不允許,其他的unicode字元組合都可以。33 也可以是識別符號,我們 也可以是識別符號。識別符號也區分大小寫。以大寫字母開頭的識別符號是公開的。其他任何識別符號都是私有的。空識別符號 是乙個佔位符,用於賦值操作的時候,...