Go报错:more than one character in rune literal
在编译代码时 出现了以上错误
原因是用错了引号的表达方式。
package main import( "fmt" ) func main(){ fmt.Println('hello world') }123456789
一眼看上去没啥问题
但是就是会报错
more than one character in rune literal1
为啥呢?
单引号,双引号
在go语法中,双引号是常用的来表达字符串,如果你使用了单引号,编译器会提示出错
invalid character literal (more than one character) `` 单引号只能包含一个字符,例如’b’ ,程序会输出98表示字符b的ascii码。 如果非要使用单引号输出必须使用string函数转换 fmt.Println(string('b') ) Printf 和 Println 的区别 printf 输出后不换行, println输出后自动换行; printf格式化输出,println 直接输出内容
单引号,双引号
在go语法中,双引号是常用的来表达字符串,如果你使用了单引号,编译器会提示出错
invalid character literal (more than one character)
单引号只能包含一个字符,例如’a’ ,程序会输出97表示字符a的ascii码。
如果非要使用单引号输出必须使用string函数转换
fmt.Println(string('a') )
Printf 和 Println 的区别
printf 输出后不换行, println输出后自动换行;
printf格式化输出,println 直接输出内容
导包和定义变量
在golang中,倒入的包和定义的变量都必须被引用,否则编译器会报错,这点不同于python,在python 中引入的包和定义的变量即使没有被使用解释器也不会报错。
赋值时的下划线
_, b = 5, 7
在上面的语句中,5这个值被丢弃。在golang中一个值被赋予下划线表示被丢弃
golang中字符串
字符串类型在 go 里是个结构, 包含指向底层数组的指针和长度,这两部分每部分都是 8 个字节,所以字符串类型大小为 16 个字节。
go语言缩进
go语言默认缩紧为tab,不同于python,后者推荐使用空格。
编译部署
go是编译型语言,并且可以在一个平台上编译多个平台的版本,我们称之为交叉编译。
评论 (1)