Go 的转义字符 | 学习笔记

简介: 快速学习 Go 的转义字符

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

课程地址:https://developer.aliyun.com/learning/course/625/detail/9503


Go 的转义字符

内容介绍

一、GO 语言的转义字符

二、举例说明

三、课堂练习

 

一、GO 语言的转义字符

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

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

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

2) \n:换行符

3)\\:一个

4)\”:一个”

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

 

二、举例说明

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

图片2.png

1) \t的使用

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

① 有\

main.go 代码讲解:

package main

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

func main() {

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

fmt.Println("tom\tjack")//在 tom 和 jack 中加 \t

}

输出结果

tom     jack

② 无\

main.go 代码讲解:

package main

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

func main() {

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

fmt.Println("tomtjack") //将 tom 和 jack 中加 t

}

输出结果:

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") \\ \ n 表示换行输出

}

输出结果

tom     jack

hello

world

3)\\:一个\

main.go 代码讲解:

package main

import "fmt”  

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

func main() {

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

fmt.Println("tomtjack")

fmt.Println( "hello\nworld") // \n 表示换行输出

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

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

}

输出结果

tom    jack

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") // \n 表示换行输出

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

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

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

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

}

输出结果

tom    jack

hello

world

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

tom 说 "i love you”

错误说明

有时我们希望输出的语句带有”,如 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") // \n 表示换行输出

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

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

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

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

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

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

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

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

}

输出结果

tom    jack

hello

world

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

tom 说 "i love you”

张飞八部雪山飞狐

张飞厉害雪山飞狐

 

三、课堂练习

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

在 escaptechar 包中新建一个 exec01,

代码如下:

答案讲解

package main

import "fmt" // 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,输出最后结果。

相关文章
|
7月前
|
监控 安全 Java
Go语言学习笔记(一)
Go语言学习笔记(一)
125 1
Go语言的条件控制语句及循环语句的学习笔记
本文是Go语言的条件控制语句和循环语句的学习笔记,涵盖了if语句、if-else语句、if嵌套语句、switch语句、select语句以及for循环和相关循环控制语句的使用方法。
Go语言的条件控制语句及循环语句的学习笔记
|
3月前
|
存储 Go
Go: struct 结构体类型和指针【学习笔记记录】
本文是Go语言中struct结构体类型和指针的学习笔记,包括结构体的定义、成员访问、使用匿名字段,以及指针变量的声明使用、指针数组定义使用和函数传参修改值的方法。
|
3月前
|
人工智能 算法 搜索推荐
Go学习笔记-代码调
近年来,人工智能技术飞速发展,Cody作为由Sourcegraph开发的一款AI驱动编码助手,应运而生。它不仅提供代码预测与补全,还能深度理解代码上下文,为开发者提供准确建议,提升编码效率和质量。Cody能识别潜在错误并提出修复建议,缩短调试时间,同时进行智能代码审查,帮助优化代码结构和风格。未来,随着AI技术进步,Cody将不断学习优化,成为开发者不可或缺的伙伴,推动编程领域的创新与发展。
36 0
|
7月前
|
存储 分布式计算 算法
GO学习笔记之表达式
GO学习笔记之表达式
55 1
|
7月前
|
存储 编译器 Go
GO语言学习笔记
GO语言学习笔记
47 1
|
Go 自然语言处理 编译器
Go 学习笔记-Go 词法解析
Go 学习笔记-Go 词法解析
85 0
Go 学习笔记-Go 词法解析
|
自然语言处理 前端开发 Java
Go 学习笔记-Go 编译器简介
Go 学习笔记-Go 编译器简介
73 0
|
自然语言处理 算法 Java
Go学习笔记-Go编译器简介
Go学习笔记-Go编译器简介
88 0
|
存储 Go
Go学习笔记-Go 浮点数设计原理
Go学习笔记-Go 浮点数设计原理
123 0