开发者学堂课程【GO 语言核心编程-基础语法、数组、切片、Map:字符类型基本使用】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/625/detail/9523
字符类型基本使用
内容介绍:
一、 基本介绍
二、 案例演示
一、 基本介绍
Golang 中没有专门的字符类型,如果要存储单个字符(字母),一般使用 byte 来保存。
字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。
也就是说对于传统的字符串是由字符组成的,而 Go 的字符串不同,它是由字节组成的。
[官方将 string 归属到基本数据类型.
https://tour.go-zh.org/basics/11]
Go 语言的源文件采用 UTF8编码,并且 Go 语言处理 UTF8 编码的文本也很出色。
unicode 包提供了诸多处理 rune 字符相关功能的函数(比如区分字母和数字,或者是字母的大写和小写转换等),unicode/utf8包则提供了用于 rune 字符序列的 UTF8编码和解码的功能。
二、 案例演示
演示 golang 中字符类型使用
func main() {
var c1 byte ='a'
var c2 byte =‘‘0’
//字符的0
//当我们直接输出byte值,就是输出了的对应的字符的码值
fmt.Print1n( "c1=",c1)fmt.Println( "c2=",c2)
//如果我们希望输出对应字符,需要使用格式化输出fmt.Printf( "c1=%c c2=%c\n", c1,c2)
//var c3 byte =‘北’
//overflow溢出
var c3 int=‘北’
//overflow溢出
fmt.Printf( "c3=%c c3对应码值=%d", c3,c3)
}
对上面代码说明:
1. 如果我们保存的字符在 ASCII 表的,比如[O-1, a-z,A-Z..]直接可以保存到 byte
2. 如果我们保存的字符对应码值大于255,这时我们可以考虑使用 int 类型保存
3. 如果我们需要安装字符的方式输出,这时我们需要格式化输出,即 fmt.Printf("%c" , c1)..
import "fmt"
func main() {
//go 语言中字符串类型相当与 byte 型的数组 ”.....“和``来表示字符串
var name1 = "李克花"
fmt.Println(name1)
var name2 = `李克花`
fmt.Println(name2)
fmt.Printf("name1's type:%T --- value:%s\n",name1,name1)
fmt.Printf("name2's type:%T --- value:%s",name1,name1)
fmt.Println()
fmt.Println("-----------------------------------------------------------------")
//单引号赋值相当于 ASCII 中的 byte 值 双引号相当于字符串类型
byt01:='A'
str01:="A"
fmt.Printf("byt01's type:%T --- value:%d\n",byt01,byt01)
fmt.Printf("str01's type:%T --- value:%s",str01,str01)
}