golang的各种打印
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的各种打印的更多相关文章
- golang的dlv调试工具print打印字符串显示more,无法显示更多
使用dlv (delve golang调试器)打印字符串无法打印全,只能打印一部分(64个字节),在gdb中有 (gdb) set print elements Argument required ( ...
- Golang中的自动伸缩和自防御设计
Raygun服务由许多活动组件构成,每个组件用于特定的任务.其中一个模块是用Golang编写的,负责对iOS崩溃报告进行处理.简而言之,它接受本机iOS崩溃报告,查找相关的dSYM文件,并生成开发者可 ...
- go语言学习代码
1.day01 package main //声明文件所在的包,每个go文件必须有归属包 import "fmt" //引入程序中需要用的包,为了使用包下的函数 比如函数:Prin ...
- 如何在golang中打印grpc详细日志
最近捣鼓fabric,在一个tls证书问题上纠结挺久,连接orderer服务时候,grpc日志总是冷冰冰的显示这个信息 Orderer Client Status Code: (2) CONNECTI ...
- Golang: 打印命令行参数
记得最早在学校机房学习 Java 时,照着书上的例子,写一个最简单 main 方法,当程序运行并在屏幕上打印出 hello world 时,内心竟有种莫名的激动,相信很多人都有这种经历吧. 不管学什么 ...
- golang中打印格式化的一些占位符
package main import ( "fmt" ) func main() { var a byte = 255 // byte = uint8 rune = int32 ...
- golang time打印出的值是62135596800的来源
' 减去62135596800是将"以公元1年1月1日0点为基准"改成"以1970年1月1日0点"为基准 所以,数据库datetime的默认值 : 0000-0 ...
- golang 打印变量类型
fmt.Println("type:", reflect.TypeOf(err.Error()))
- golang 使用 iota
iota是golang语言的常量计数器,只能在常量的表达式中使用. iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(io ...
随机推荐
- Python 3 学习笔记之——基础语法
1. a, b = a, a + b 先计算右边表达式,然后再同时赋值给左边. 2. 条件控制和循环语句 条件控制 if condition_1: statement_block_1 elif con ...
- el-upload怎么拿到上传的图片的base64格式
这里只是本地上传,拿图片的base64,并不向后台直接上传,拿到base64后手动上传 上传前效果: 上传后效果: .vue <el-form-item label="礼品封面&quo ...
- Struts2-part1
作者:禅楼望月(http://www.cnblogs.com/yaoyinglong) 1. Struts2应用的开发步骤: ① 在web.xml中配置核心的Filter来拦截用户的请求. <w ...
- JAVA实现定时器功能
在接口开发时,有一种开发模式叫定时器模式,可以理解为每经过一段预设的时间就会执行一次事件,而在我们的工作中,这个事件所实现的功能一般是将两个系统的数据信息进行同步,这样就实现了两个系统通过接口进行对接 ...
- HDFS集群和YARN集群
Hadoop集群环境搭建(一) 1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主要 ...
- BZOJ5110 CodePlus2017Yazid 的新生舞会(线段树)
考虑统计每个数字的贡献.设f[i]为前缀i中该数的出现次数,则要统计f[r]-f[l]>(r-l)/2的数对个数,也即2f[r]-r>2f[l]-l. 注意到所有数的f的总变化次数是线性的 ...
- BZOJ3673 & BZOJ3674 可持续化并查集 【可持续化线段树维护可持续化数组】
题目描述 n个集合 m个操作 操作: 1 a b 合并a,b所在集合 2 k 回到第k次操作之后的状态(查询算作操作) 3 a b 询问a,b是否属于同一集合,是则输出1否则输出0 0 输入格式 输出 ...
- Super Moban
HAO BAN ZI 包括求解,判断无解,求自由变元个数以及标记不确定的变元.来源:http://blog.csdn.net/keshuqi/article/details/51921615 #inc ...
- org.json与json-lib的区别(补充 FastJson)
org.json 是JSON国际组织官方推出的标准json解析方案,已经被 android sdk 纳入到标准内置类库,依赖项少,但直至API17版本SDK中,仅支持JSONObject与JSONAr ...
- [Usaco2005 Dec]Cleaning Shifts 清理牛棚 (DP优化/线段树)
[Usaco2005 Dec] Cleaning Shifts 清理牛棚 题目描述 Farmer John's cows, pampered since birth, have reached new ...