每天都使用但却熟悉又陌生?是不是眼花缭乱?
fmt.Println
fmt.Printffmt.Printfmt.Sprintffmt.Println
他们之间到底有什么区别?
发现个问题,是否经常使用 各种Print 但却经常出错,日志输出经常出现格式不对的问题,今天它来了,我们一次搞定各种 print 输出,
package mainimport "fmt"func main() {str := "Tom"num := 500arr := [3]int{}arr[0] = 5arr[1] = 6arr[2] = 7// Println 打印传入的所有所有参数的默认格式fmt.Println(str, num, arr)// Printf 根据参数的格式说明打印输出 不同类型对应不同的占位符 参数中间会自动加入空格 无论什么数据格式fmt.Printf("%s %d %d\n", str, num, arr)//Print 打印传入的所有所有参数的默认格式 如果相邻两个参数都不是字符串 输出参数间隔会有空格 相邻只要一个字符串 输出就不会有空格fmt.Print(str, num, arr)// Sprintf 根据格式说明格式化并返回结果 经常用于字符串的拼接和组装 比如 数据库连接的时候 凭借url 的时候fmt.Println(fmt.Sprintf("\nmy mane is %s i am %d years old", "losy", 18))//Sprintln使用其操作数的默认格式格式化,并返回结果字符串。res := fmt.Sprintln(str, num, arr)fmt.Println("res:", res)}/* outputTom 500 [5 6 7]
Tom 500 [5 6 7]
Tom500 [5 6 7]
my mane is losy i am 18 years old
res: Tom 500 [5 6 7]*/
学习建议:
古人云 人生有涯而学海无涯,知识是学不完的,更何况IT行业更新迭代速度非常快,每几年就有新的语言出现,我们也不用去记忆,只要学会如何学习,提升自己学习能力,能够快速的适应变化,习得能够快速的学习一门新的学科和知识的能力就可以披荆斩棘了。
对于学习一门编程语言来说,其中一项重要的本领和技能就是学习学会去看源码,当对不懂的函数或者库不明白的时候,直接点击进去看源码,看源码是如何实现的,有哪些入参和出参分别是什么?例子是如何使用的,自己可以编写一个 demo 例子 去验证下,这样不但掌握了原理,而且也知道了如何去使用,这是最高效的学习方法。