golang的資料型別之字元型別

2022-08-27 13:09:09 字數 1440 閱讀 6972

字元型別使用細節

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 也可以是識別符號,我們 也可以是識別符號。識別符號也區分大小寫。以大寫字母開頭的識別符號是公開的。其他任何識別符號都是私有的。空識別符號 是乙個佔位符,用於賦值操作的時候,...