golang的打印方法太特么多了,下面就来区分一下之间的差异

package main

import (
	"fmt"
	"os"
)

func main() {

	//1.fmt.Printf
	/*
	将每一个参数转化为字符串写入到标准输出中
	非字符串在打印的时候会添加空格,并返回写入的字节数
	*/
	n,err:=fmt.Print("a","b",1,2,3,"古明地盆","\n")//ab1 2 3古明地盆
	if err!=nil{
		return
	}
	fmt.Print(n,"\n")//20,这里古明地盆每一个字占三个字节,再加上两个空格
	//2.fmt.Println
	/*
	功能类似于fmt.Print,不过会自动在结尾添加一个换行符
	所有参数之间会自动添加空格
	*/
	fmt.Println("a","b",1,2,3,"古明地盆")//a b 1 2 3 古明地盆
	//3.fmt.Printf
	/*
	将参数写到格式字符串的占位符中
	返回写入的字节数
	*/
	n,err = fmt.Printf("ab%d %s %s 123\n", 11, "啊", "啊")//ab11 啊 啊 123
	fmt.Printf("%d\n", n)//17,汉字占三个字符,别忘了还有一个换行符

	//4.fmt.Fprint,功能和fmt.Print类似,不同的是,把结果写入文件中
	f,_ := os.Create("1.txt")
	defer f.Close()
	fmt.Fprint(f, "a", "古明地盆", 1, 2, 3,"\n")

	//5.fmt.Fprintln,功能和fmt.Println类似,不同的是,把结果写入文件中
	fmt.Fprintln(f, "a", "古明地盆", 1, 2, 3)

	//6.fmt.Fprintf,功能和fmt.Printf类似,不同的是,把结果写入文件中
	fmt.Fprintf(f,"%s %s %d %d %d", "a", "古明地盆", 1, 2, 3)

}

在1.txt中可以看到如下内容

        //7.fmt.Sprint,功能类似于fmt.Print,只是转换结果以字符串的形式返回
	str:=fmt.Sprint("a", "古明地盆", 1, 2, 3)
	fmt.Println(str)//a古明地盆1 2 3

	//8.fmt.Sprintln,功能类似于fmt.Println,只是转换结果以字符串的形式返回
	str=fmt.Sprintln("a", "古明地盆", 1, 2, 3)
	fmt.Printf(str)//a 古明地盆 1 2 3
	//9.fmt.Sprintf,功能类似于fmt.Printf,只是转换结果以字符串的形式返回
	str=fmt.Sprintf("%s %s %d %d %d", "a","古明地盆",1,2,3)
	fmt.Println(str)//a 古明地盆 1 2 3

	//10.fmt.Errorf,功能同fmt.Sprintf,只是结果字符串被包装成了error类型
	err = fmt.Errorf("的方式发送到发送到发送到发多少")
	fmt.Printf("%v", err)//的方式发送到发送到发送到发多少

  

还是Python简单,一个print啥都搞定了,

啥,你问我Python的print怎么输出到文件里,直接print("xxxx", file=open("", "", ""))啊

golang的各种打印的更多相关文章

  1. golang的dlv调试工具print打印字符串显示more,无法显示更多

    使用dlv (delve golang调试器)打印字符串无法打印全,只能打印一部分(64个字节),在gdb中有 (gdb) set print elements Argument required ( ...

  2. Golang中的自动伸缩和自防御设计

    Raygun服务由许多活动组件构成,每个组件用于特定的任务.其中一个模块是用Golang编写的,负责对iOS崩溃报告进行处理.简而言之,它接受本机iOS崩溃报告,查找相关的dSYM文件,并生成开发者可 ...

  3. go语言学习代码

    1.day01 package main //声明文件所在的包,每个go文件必须有归属包 import "fmt" //引入程序中需要用的包,为了使用包下的函数 比如函数:Prin ...

  4. 如何在golang中打印grpc详细日志

    最近捣鼓fabric,在一个tls证书问题上纠结挺久,连接orderer服务时候,grpc日志总是冷冰冰的显示这个信息 Orderer Client Status Code: (2) CONNECTI ...

  5. Golang: 打印命令行参数

    记得最早在学校机房学习 Java 时,照着书上的例子,写一个最简单 main 方法,当程序运行并在屏幕上打印出 hello world 时,内心竟有种莫名的激动,相信很多人都有这种经历吧. 不管学什么 ...

  6. golang中打印格式化的一些占位符

    package main import ( "fmt" ) func main() { var a byte = 255 // byte = uint8 rune = int32 ...

  7. golang time打印出的值是62135596800的来源

    ' 减去62135596800是将"以公元1年1月1日0点为基准"改成"以1970年1月1日0点"为基准 所以,数据库datetime的默认值 : 0000-0 ...

  8. golang 打印变量类型

    fmt.Println("type:", reflect.TypeOf(err.Error()))

  9. golang 使用 iota

    iota是golang语言的常量计数器,只能在常量的表达式中使用. iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(io ...

随机推荐

  1. ethday04复杂的智能合约

    复杂的智能合约部署和测试 server--database 客户端服务器数据库模式 以太坊dapp应用程序结构 server --- client 模式 server -- database 传统模式 ...

  2. 了解游戏编程与 AI

    噫语系列... 闲话 最近在重写我的一个 QQ 群机器人项目,并尝试将它改成更通用的结构,以方便在未来加入对 Wechat 和 Telegram 的支持. 在查资料的过程中,发现很多人认为一个群内多人 ...

  3. const在c/c++中的区别

    #include <iostream> using namespace std; int main() { ; ; }; ; i < sizeof array / sizeof *a ...

  4. Spring温故而知新 – bean的装配

    Spring装配机制 Spring提供了三种主要的装配机制: 1:通过XML进行显示配置 2:通过Java代码显示配置 3:自动化装配 自动化装配 Spring中IOC容器分两个步骤来完成自动化装配: ...

  5. IDEA里面添加lombok插件,编写简略风格Java代码

    在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除一些必须有但看起来很臃肿的代码, 比如属性的get/set,及对象的toString等方法,特别是相对于 POJO; 关于lomb ...

  6. 搭建Elasticsearch 5.4分布式集群

    多机集群中的节点可以分为master nodes和data nodes,在配置文件中使用Zen发现(Zen discovery)机制来管理不同节点.Zen发现是ES自带的默认发现机制,使用多播发现其它 ...

  7. HTML5<canvas>标签:使用canvas元素在网页上绘制线条和圆(1)

    什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以 ...

  8. 2017 Multi-University Training Contest - Team 3 Kanade's trio(字典树+组合数学)

    题解: 官方题解太简略了orz 具体实现的方式其实有很多 问题就在于确定A[j]以后,如何找符合条件的A[i] 这里其实就是要提前预处理好 我是倒序插入点的,所以要沿着A[k]爬树,找符合的A[i] ...

  9. AtCoder 神题汇总

    记录平时打 AtCoder 比赛时遇到的一些神题. Tenka1 Programmer Contest 2019 D Three Colors 题目大意 有 $n$ 个正整数 $a_1, a_2,\d ...

  10. 导致SQL执行慢的原因

    索引对大数据的查询速度的提升是非常大的,Explain可以帮你分析SQL语句是否用到相关索引. 索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本.MySQL在300万条记录左 ...