Go语言输出打印--排坑

Python011

Go语言输出打印--排坑,第1张

一.几种公共方法

1)Print:   输出到控制台(不接受任何格式化,它等价于对每一个操作数都应用 %v)

print 在golang中 是属于输出到标准错误流中并打印,官方不建议写程序时候用它。可以再debug时候用

2)Println: 输出到控制台并换行

3)Printf : 只可以打印出格式化的字符串。只可以直接输出字符串类型的变量(不可以输出整形变量和整形等)

4)Sprintf:格式化并返回一个字符串而不带任何输出

5)Fprintf:来格式化并输出到 io.Writers 而不是 os.Stdout

二.带占位符输出--网址:     https://www.jianshu.com/p/8be8d36e779c

和python差不多的道理,这里简单补充

v     值的默认格式

%+v   添加字段名(如结构体)

%#v  相应值的Go语法表示 

%T    相应值的类型的Go语法表示 

%%    字面上的百分号,并非值的占位符

%c     相应Unicode码点所表示的字符 

%x     十六进制表示,字母形式为小写 a-f

%X     十六进制表示,字母形式为大写 A-F

%U     Unicode格式:U+1234,等同于 "U+%04X"

reader := bufio.NewReader(os.Stdin)

fmt.Print("Enter text: ")

text, _ := reader.ReadString('\n')

fmt.Println(text)

这是读取控制台输入的数据,可以开协程的方式来执行这个代码,协程读取,就可以在其他地方使用

日常开发当中需要将golang的log包打印的日志同时输出到控制台和文件,应该如何解决这个问题?

log包可以通过SetOutput()方法指定日志输出的方式(Writer),但是只能指定一个输出的方式(Writer)。我们利用io.MultiWriter()将多个Writer拼成一个Writer使用的特性,把log.Println()输出的内容分流到控制台和文件当中。

原文地址