Golang中fmt包的Println,Printf和Sprintf的区别
fmt包实现了格式化的I/O,其功能类似于C的printf和scanf(官网解释).
Println
- 用默认的类型格式显示方式将传入的参数写入到标准输出里面(即在终端中有显示).
- 多个传入参数之间使用空格分隔.
- 在显示的最后追加换行符.
- 返回值为 写入标准输出的字节数和写入过程终于到的问题
Printf
- 用传入的格式化规则符将传入的变量写入到标准输出里面(即 在终端有显示).
- 返回值为 写入标准输出的字节数和写入过程中遇到的问题
Sprintf
- 用传入的格式化规则将传入的变量格式化(* 注意: 终端中不会有显示 *).
- 返回为 格式化后的字符串.
Example
package fmt_demo
import (
"fmt"
"testing"
)
func TestFmt(t *testing.T) {
testStr := []byte("test str")
fmt.Println(testStr, "hello world") //[116 101 115 116 32 115 116 114] hello world
fmt.Printf("%s", testStr) // test str
fmt.Println()
fmt.Sprintf("%s", testStr) // 空, 无IO输出
fmt.Println()
printStr := fmt.Sprintf("%s", testStr)
fmt.Println(printStr) // test str
}
运行测试代码: go test fmt_test.go -v
:
=== RUN TestFmt
[116 101 115 116 32 115 116 114] hello world
test str
test str
--- PASS: TestFmt (0.00s)
PASS
ok command-line-arguments 0.006s
「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付
