golang的數據類型之字符類型


字符類型使用細節

1)字符常量是用單引號('')括起來的單個字符。例如:var c1 byte = 'a' var c2 int = '中' var c3 byte = '9'

2) Go中允許使用轉義字符'\' 來將其后的字符轉變為特殊字符型常量。例如: var c3 char = '\n'   // '\n' 表示換行符

3)Go語言的字符使用UTF-8編碼,如果想查詢字符對應的utf8碼值可以百度搜索。英文字母--1個字節, 漢字--3個字節

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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM