Go学习:字符、字符串需注意的点
Go语言与C/C++语言编程有很多相似之处,但是Go语言中在声明一个字符时,数据类型与其他语言声明一个字符数据时有一点不同之处。通常,字符的数据类型为 char,例如 :声明一个字符 (字符名称为 ch) 的语句格式为 char ch;Go语言中,字符的数据类型定义为 byte,代表单个字节的值,声明一个字符类型(字符名称为 ch) 的语句格式为 var ch byte。
注意,在Go语言中,没有char类型,不过可以通过 “别名” 将byte改为char名称。
目录
1. 字符
2. 字符与字符串的区别
1. 字符
- 字符赋值时,使用单引号 ' ',比如 ch='a'
- 输出时,默认以整型方式打印,如果想要输出char字符,需要使用格式化输出%c
package main
import "fmt"
func main() {
var ch, ch1 byte //声明字符类型
ch = 97 //字符a的ASCII码为 97
ch1 = 'a'
//1.默认打印方式
fmt.Println("ch = ", ch, ", ch1 = ", ch1) //结果:ch = 97 , ch1 = 97
//2.格式化输出
fmt.Printf("ch = %d, ch = %c\n", ch, ch) //ch结果:ch = 97, ch = a
fmt.Printf("ch1 = %d, ch1 = %c\n", ch1, ch1) //ch1结果:ch1 = 97, ch1 = a
}
输出结果:
2. 字符与字符串的区别
(1)字符赋值时,使用单引号 ' ',比如 ch='a' ,字符串赋值时,使用双引号 " ",比如 str = "a"
(2)组成方面:
- 字符,往往都只有一个字符,转义字符除外,比如'\n'就有两个字符,其他转义字符甚至可能有两个或多个字符组成
- 字符串由 1 个或多个字符组成
(3)字符串都是隐藏了一个结束符 '\0' ,比如 str = "a",由'a'或'\0'组成了字符串str
简单代码:
package main
import "fmt"
func main() {
var ch byte
var str string
//字符,单引号
ch = 'a'
fmt.Println("ch = ", ch)
//字符串,双引号
str = "a"
fmt.Println("str = ", str)
str = "hello go"
fmt.Println("str = ", str)
//只想操作字符串的某个字符,从0开始操作
fmt.Printf("str[0] = %c, str[1] = %c\n", str[0], str[1])
}
运行结果: