第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

Go 入門教程

Go 語言的字符類型

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

1. 字符和字符串類型

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

2. 代碼演示

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

package main

import "fmt"

//將字符串轉(zhuǎn)換為rune的數(shù)組,并替換數(shù)組第i個(gè)元素為ch
func str2Rune(str *string, i int, ch rune) {
    temp := []rune(*str)
    temp[i] = ch
    *str = string(temp)
}

//將字符串轉(zhuǎn)換為byte的數(shù)組,并替換數(shù)組第i個(gè)元素為ch
func str2Byte(str *string, i int, ch byte) {
    temp := []byte(*str)
    temp[i] = ch
    *str = string(temp)
}

func main() {
    str := "你好 hello"
    str1 := "你好 hello"
    str2 := "你好 hello"
    str2Rune(&str, 0, 'A')  //將第0個(gè)字符替換為A
    str2Byte(&str1, 0, 'A') //將第0個(gè)字符替換為A
    str2Byte(&str2, 7, 'A') //將第7個(gè)字符替換為A
    fmt.Println("rune 數(shù)組處理中文后:", str)
    fmt.Println("byte 數(shù)組處理中文后:", str1)
    fmt.Println("byte 數(shù)組處理英文后:", str2)
}

輸出結(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ū)別。