golang的双引号文本和反引号文本

Python018

golang的双引号文本和反引号文本,第1张

golang的双引号和反引号

反引号(back quote)就是"`",就是键盘上和"~"一个键的那个。

他们的区别就是:

举个例子来说:

上面程序运行结果就是:

双引号文本里面的 \t ,被解析成一个tab键,所以输出的时候就转化成了tab键;而反引号文本的 \t 并没有被解析成tab键,而是按照字面内容输出。

另外反引号文本可以包含换行符,而双引号文本则不能:

编译就出错:

所以反引号最常用的两个场景是:

一行一行读取文件没有换行符golang没有问题,不影响。由程序写入的标准的日志文件,那么每一条后面都有换行符,文件读完了还没有看到换行符,比如自己手动操作了此日志文件,那么就会有io.EOF错误,这个错误是不必处理了,读完了就读完了。

编写命令行程序时,可以使用任何接受io.Reader的函数从os.Stdin中读取用户输入。

最方便的方法是使用fmt.Scanf,它是fmt.Printf的镜像。

这是从控制台(标准输入)读取字符串和整数的方法

fmt.Scanf从os.Stdin读取输入,并尝试根据提供的格式设置传递的变量。

空格和换行符被视为值分隔符。

它返回成功解析的数量(防止仅匹配前几个变量)

要从任意io.Reader中读取,请使用fmt.Fscanf。

要读取整行(直到换行符或io.EOF,请使用fmt.Scanln:

您也可以使用bufio.Reader:

ReadString从读取器读取,直到读取给定字符。 我们指定了换行符\n,因此它将读取整行。

ReadString返回的值包含终止字符(\n),因此通常您希望使用例如。 strings.TrimSpace。

字符\n是Unix上的行终止符。 在Windows上更常见的是将\r\n视为行终止符。 如果希望在Windows上运行,请确保进行处理(例如,通过从返回的字符串中修剪\r字符)。

也可以使用bufio.Scanner从stdin读取行

bufio.Scanner允许使用更复杂的用法,您可以指定使用Scanner.Split将输入拆分成块的函数。