最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

全部開發(fā)者教程

Go 入門教程

Go 語(yǔ)言基礎(chǔ)教程
01 Go語(yǔ)言簡(jiǎn)介 02 Go 在 Windows 上的安裝及配置 03 Go 在 Linux 上的安裝與配置 04 Go 在 MacOS 上的安裝及配置 05 Git 的下載和安裝 06 VSCode 編輯器安裝和配置 07 Go 的變量聲明 08 Go 的變量賦值 09 Go 語(yǔ)言的 := 10 Go 的整型(int) 11 Go 的無(wú)符號(hào)整型(uint) 12 Go 的浮點(diǎn)型(float) 13 Go 的字符類型 14 Go 的布爾型(bool) 15 Go 的強(qiáng)制類型轉(zhuǎn)換 16 Go 語(yǔ)言的常量 17 Go 語(yǔ)言中代替枚舉的辦法 18 Go 語(yǔ)言中的運(yùn)算符 19 Go 語(yǔ)言的分支語(yǔ)句 20 Go 語(yǔ)言的循環(huán)語(yǔ)句 21 Go 語(yǔ)言的通道 22 Go 語(yǔ)言中的函數(shù) 23 Go 語(yǔ)言函數(shù)中的 defer 24 Go 語(yǔ)言中的閉包 25 Go 語(yǔ)言的指針 26 Go 語(yǔ)言中的數(shù)組 27 Go 語(yǔ)言中的切片 28 Go 語(yǔ)言中的 Map 29 Go 語(yǔ)言中的 range 30 Go 語(yǔ)言拓展以有類型 31 Go 語(yǔ)言中的結(jié)構(gòu)體和"面向?qū)ο?quot; 32 Go 語(yǔ)言中的接口 33 Go 語(yǔ)言類型的內(nèi)嵌 34 Go 語(yǔ)言中的 nil 35 Go 語(yǔ)言函數(shù)式編程 36 Go 語(yǔ)言中的錯(cuò)誤和異常處理 37 Go 語(yǔ)言的并發(fā) 38 Go 語(yǔ)言中的包 39 Go 語(yǔ)言 go mod 包依賴管理工具 40 Go 語(yǔ)言的文件操作 41 Go 語(yǔ)言中的系統(tǒng)包 42 Go 語(yǔ)言的 strings 系統(tǒng)包的使用 43 Go 語(yǔ)言中的變參 44 Go 語(yǔ)言中的反射 45 Go 語(yǔ)言性能測(cè)試 46 使用 Go 語(yǔ)言搭建簡(jiǎn)易登錄功能 47 使用 gin 包優(yōu)化登錄功能

Go 語(yǔ)言的字符類型

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

1. 字符和字符串類型

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

2. 代碼演示

接下來(lái)使用一段代碼來(lái)更清晰地解釋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 語(yǔ)言中的字符類型的使用,注意 byte 和 rune 使用上的區(qū)別。