久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

Go 語言的字符類型

字符類型在工作中也會非常頻繁地用到,是一個(gè)非常重要的數(shù)據(jù)類型。本文主要介紹了 Go 語言中處理字符和字符串的數(shù)據(jù)類型。

 

1. 字符和字符串類型

序號 類型 說明
1 byte uint8?類型的別名,同等于?uint8。一般用于表示?ASCII?字符,即只能操作簡單的字符,不支持中文操作
2 rune int32?類型的別名,同等于?int32。一般用于表示?Unicode?字符,即可以處理任何字符
3 string 一個(gè)指向 byte 數(shù)組的指針,可以為空字符串不可為nil

 

2. 代碼演示

接下來使用一段代碼來更清晰地解釋byterune的區(qū)別,以及了解這三個(gè)類型的關(guān)系。

代碼塊
  • 1 ?package main
  • 2
  • 3 ?import "fmt"
  • 4
  • 5? //將字符串轉(zhuǎn)換為rune的數(shù)組,并替換數(shù)組第i個(gè)元素為ch
  • 6 ?func str2Rune(str *string, i int, ch rune) {
  • 7? ? ? ? temp := []rune(*str)
  • 8? ? ? ? temp[i] = ch
  • 9? ? ? ? *str = string(temp)
  • 10? }
  • 11
  • 12? //將字符串轉(zhuǎn)換為byte的數(shù)組,并替換數(shù)組第i個(gè)元素為ch
  • 13? func str2Byte(str *string, i int, ch byte) {
  • 14? ? ? ? temp := []byte(*str)
  • 15? ? ? ? temp[i] = ch
  • 16? ? ? ? *str = string(temp)
  • 17 ?}
  • 18
  • 19? func main() {
  • 20? ? ? ? str := "你好 hello"
  • 21? ? ? ? str1 := "你好 hello"
  • 22? ? ? ? str2 := "你好 hello"
  • 23? ? ? ? str2Rune(&str, 0, 'A') //將第0個(gè)字符替換為A
  • 24? ? ? ? str2Byte(&str1, 0, 'A') //將第0個(gè)字符替換為A
  • 25? ? ? ? str2Byte(&str2, 7, 'A') //將第7個(gè)字符替換為A
  • 26? ? ? ? fmt.Println("rune 數(shù)組處理中文后:", str)
  • 27? ? ? ? fmt.Println("byte 數(shù)組處理中文后:", str1)
  • 28? ? ? ? fmt.Println("byte 數(shù)組處理英文后:", str2)
  • 29? }

輸出結(jié)果:

圖片描述
byte 和 rune 區(qū)別實(shí)例輸出結(jié)果

結(jié)論:

  • string可以直接轉(zhuǎn)換為rune或者byte數(shù)組;
  • runebyte可以互相轉(zhuǎn)換;
  • byte?的操作單位是一個(gè)字節(jié),可以理解為一個(gè)英文字符;
  • rune?的操作單位是一個(gè)字符,不管這個(gè)字符是什么字符。

 

3. 小結(jié)

本文主要學(xué)習(xí)了 Go 語言中的字符類型的使用,注意 byte 和 rune 使用上的區(qū)別。

文章來源于網(wǎng)絡(luò),侵刪!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!

    1. 主站蜘蛛池模板: 祁东县| 锡林浩特市| 天柱县| 台中县| 恩平市| 安仁县| 丰都县| 故城县| 宜州市| 彭阳县| 凤城市| 朝阳县| 光泽县| 图木舒克市| 寻乌县| 大荔县| 嘉峪关市| 琼中| 盐边县| 乌拉特中旗| 绥滨县| 台江县| 云阳县| 洛隆县| 连城县| 凭祥市| 怀仁县| 涞水县| 兰溪市| 交城县| 巧家县| 乡城县| 鄂托克旗| 沁水县| 霍州市| 天全县| 濮阳市| 吉木乃县| 耒阳市| 南丹县| 德化县|