go输出语句到控制台有多少种常见的方法

新手上路,请多包涵

题目描述

go输出语句到控制台有多少种常见的方法

题目来源及自己的思路

我知道的的只有

fmt.println()

你期待的结果是什么?实际看到的错误信息又是什么?

想知道其他方式

阅读 7.2k
1 个回答

文中应该是fmt.Println吧,P应该大写。

根据go的自带fmt包可以联想出可以直接打印到控制台的函数如下,其实从名字也可看出,其大同小异,其本质还是输出到stdout,即标准输出流
image.png
选择Println这个函数,进去看其实现image.png
,其描述中已经很清楚的说明了该函数的输出是standard output。
利用了系统的os.Stdout

常见的可以输出到控制台的有两种,一种是标准输出流stdout,一个是标准错误流stderr
所以还可以利用stderr来输出,go中对应的函数如下
image.png
这个是内置的函数,可以直接使用,不用import任何包。
image.png
看这个函数的注释,是standard error.

go中还有个常用输出的接口是log
image.png
选择其中一个函数去看,例如log.Println:
image.png
再进一步看std这个定义:
var std = New(os.Stderr, "", LstdFlags)
可见log也是默认输出到标准错误流的。

总结:
输出到控制台,归根结底就是输出到标准输出流和标准错误流。和其对应的还有个标准输入流,主要是用于读取数据。在linux中常用0,1,2表示,这些知识自己发散吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题