go语言字符串相关

发布时间 2023-05-29 11:46:57作者: 自然洒脱

字符串

使用双引号或反引号引起来的任意个字符。它是字面常量。注意,反引号内不支持转义字符。

"abc测试" // 不能换行,换行需要借助\n
"abc\n测试" // 换行
`abc
 测试` // 等价下面的字符串
"abc\n\t测试"
`json:"name"` // 字符串里面如果有双引号,使用反引号定义方便
"json:\"name\"" // 和上一行等价
"abc" + "xyz" // 拼接

对于fmt.printf(),可以对输出进行格式化,官方文档:https://pkg.go.dev/fmt

字符串:

%v 适合所有类型数据,调用数据的缺省打印格式

%+v对于结构体,会多打印出字段名

%#v 对于结构体,有更加详细的输出

%T 打印值的类型

%% 打印百分号本身

整数

%b 二进制;

%o 八进制;%O 八进制带0o前缀;

%x 十六进制小写;%X16 进制大写

%U 把一个整数用Unicode格式打印。例如 fmt.Printf("%U, %x, %c\n", 27979, 27979, 27979) 输出 U+6D4B, 6d4b, 测

%c 把rune、byte的整型值用字符形式打印

%q 把一个整型当做Unicode字符输出,类似%c,不过在字符外面多了单引号。q的意思就是quote

浮点数

%e、%E 科学计数法 %f、%F 小数表示法,最常用 %g 内部选择使用%e还是%f以简洁输出;%G 选择%E或%F

字符串或字节切片

%s 字符串输出。如果是rune切片,需要string强制类型转换 %q 类似%s,外部加上双引号。q的意思就是quote

指针

%p 十六进制地址

输出函数

输出到标准输出

Print:使用缺省格式输出,空格分割

Println:使用缺省格式输出,空格分割,最后追加换行

Printf:按照指定的格式符输出

输出到字符串,经常用来拼接字符串用

Sprint:相当于Print,不过输出为string

Sprintln:相当于Println,不过输出为string

Sprintf:相当于Printf,不过输出为string

操作符

参考 https://golang.google.cn/ref/spec#Operators_and_punctuation

逻辑运算真值表

 逻辑与可以看成相乘,逻辑或可以看成相加。

算数运算符

+、-、*、/、%、++、--

++、--只能是i++、i--,且是语句,不是表达式。也就是说,语句不能放到等式、函数参数等地方。例 如, fmt.Println(a++) 是语法错误。

位运算符

&位与、|位或、^异或、&^位清空、<<、>>

位运算只是在位上进行操作,不进位

比较运算符