开发者学堂课程【Go 语言核心编程 - 基础语法、数组、切片、Map: Go 的转义字符】学习笔记,与课程紧密联系,让用户快速学习知识。

Go 的转义字符

内容介绍

一、GO 语言的转义字符

二、举例说明

三、课堂练习

 

一、GO 语言的转义字符

常用的主要有以下五个,其中\表示转义

1.Golang 常用的转义字符( escape char )

1) \t:一个制表位,实现对齐的功能

2) \n:换行符

3)\\:一个

4)\”:一个”

5) \r:一个回车 fmt.Println ("天龙八部雪山飞狐\r张飞");

 

二、举例说明

我们采取每一个章节,一个项目( project )的形式,案例放在子文件夹中。


1) \t的使用

表示一个制表符,通常使用它排版

① 有\

main.go 代码讲解:

package main
import "fmt”
func main() {

//演示转义字符的使用  \ t

fmt.Println("tom\tjack")
}

输出结果

tomjack

② 无\

main.go 代码讲解:

package main
import "fmt”
func main() {

//演示转义字符的使用 \t

fmt.Println("tomtjack")
}

输出结果:

Tomtjack

③步骤演示:

在命令框中依次输出 dir,cd chapter02,dir 这三个 DOS 命令依次进入目录chapter02 中

再输入 cd escaptechar 、dir 进入目录 escaptechar 可以看见显示的 main.go 文件

输 go run main.go 运行,

显示报错:

忘记保存代码,我们重新保存一遍 。

再次输入 go run main.go 运行,

显示代码中有\时的结果为

tom   jack

将代码中的 \t 中\删除,保存后再次运行。

发现就输出一个 t,

结果为 tomt jack

④总结:

\t带上\就表示转义,没有\就仅表示一个字母t

2) \n: 换行符

main.go 代码讲解:

package main
import "fmt”

// fmt 表示格式化的包,包中提供格式化,输出,输入的函数

func main() {

//演示转义字符的使用 \t

fmt.Println("tomtjack") 
fmt.Println( "hello\nworld")
}

输出结果

tomjack
hello
world

3)\\:一个\

main.go 代码讲解:

package main
import "fmt”

// fmt 表示格式化的包,包中提供格式化,输出,输入的函数

func main() {

//演示转义字符的使用 \t

fmt.Println("tomtjack") 
fmt.Println( "hello\nworld")

//第一个\为转义字符,第二个\为要输出的地址分割符  

​fmt.Println("c: \\users\\Administrator\\Desktop\\Go 语言核心编程课程\\资料")​

}

输出结果

tomjack
hello
world

c: \users\Administrator\Desktop\Go语言核心编程课程\资料 

错误说明:

当输出一串地址时,常含有\符号,

但输入 fmt.Println("c: \users\Administrator\Desktop\Go语言核心编程课程\资料")

时会 \ 符号旁会显示报错。

运行后,显示一个\无法表达任何含义,所以因在将\变为\\,意为输出一个\,第一个\为转义字符,第二个\为要输出的地址分割符。 

总结

所以,当要输出内容包含\符号时,不可仅仅只有\需将其改为\\才可成功输出\符号。

4)\”:一个”

main.go 代码讲解:

package main
import "fmt”

// fmt 表示格式化的包,包中提供格式化,输出,输入的函数

func main() {

//演示转义字符的使用 \t

fmt.Println("tomtjack") 
fmt.Println( "hello\nworld")

//第一个\为转义字符,第二个\为要输出的地址分割符  

fmt.Println("c: \\users\\Administrator\\Desktop\\Go语言核心编程课程\\资料")

//有时我们希望输出的语句带有”,如 tom 说 "i love you”

fmt.Println( "tom说\"i love you\"")
}

输出结果

tomjack
hello
world

c: \users\Administrator\Desktop\Go语言核心编程课程\资料

tom 说 "i love you”

错误说明

fmt.Println( "tom说"i love you"")

我们应该照常使用 \转义字符,输出”符号,将希望输出”的地方改为\”

5)\r: 一个回车 

fmt.Println("天龙八部雪山飞狐\r张飞");

main.go 代码讲解:

package main
import "fmt”

// fmt 表示格式化的包,包中提供格式化,输出,输入的函数

func main() {

//演示转义字符的使用 \ t

fmt.Println("tomtjack") 
fmt.Println( "hello\nworld")
fmt.Println("c: \\users\\Administrator\\Desktop\\Go语言核心编程课程\\资料")
fmt.Println( "tom说\"i love you\"")

// \r 回车 ,从当前行的最前面开始输出,覆盖掉以前内容

fmt.Println("天龙八部雪山飞狐\r张飞")

//运行结果为张飞八部雪山飞狐,回车表示先输出前面的内容

然后回车之后不换行,再把张飞输出在天龙八部雪山飞狐的前面,同时覆盖前面内容-张飞,表示从当前行的最前面开始输出,覆盖掉以前内容,所以张飞就会替换掉原来的天龙,输出-张飞八部雪山飞狐

fmt.Println("天龙八部雪山飞狐\r张飞厉害")

//而变成张飞厉害,结果就是张飞厉害雪山飞狐

}

输出结果

tomjack
hello
world

c: \users\Administrator\Desktop\Go 语言核心编程课程\资料

tom 说 "i love you”

张飞八部雪山飞狐

张飞厉害雪山飞狐

 

三、课堂练习

要求:请使用一句输出语句,达到输入如下图形效果

在 escaptechar 包中新建一个 exec01,

代码如下:

答案讲解

package main
import "fmt" 
func main(){

//要求:请使用一句输出语句,达到输入如下图形的效果

fmt.Println("姓名\t年龄\t籍贯\t地址\njohn\t20\t河北\t北京")
}

错误提示讲解:

在一个包中有两个 main 函数时,会提示重复定义

将鼠标移至错误处,显示两个 main 冲突,遇到重复定义的问题,通常重建一个包,但 Go 语言规定,main 函数重复定义,只可新建一个文件夹,好比 Java 中的同一个包的重名问题。当出现重复定义时,会显示报错 

解决方案:

重建一个 pkgexec 文件夹(左图),再将 exec01 包移到新建的文件夹中,如右图,此时就不会再报错。如果依然出错,可能是编译器还未反应,停留在上个错误。只需将数据任意改动一下即可。

运行

在命令框输入依次输入 dir,cd pkgexec 进入 pkgexec 目录

依次输入 dir,pkgexec 找到 exec01,执行 dos 的运行语句,

go run exec01.go,输出最后结果。