Golang中的println和fmt.Println
Golang中常用于打印的是 fmt.Println,就是说要引用fmt包。
Golang同时存在着一对println()和print()。都是小写字符!记住!!(Golang严格区分大小写)
看起来,用不用fmt都没关系。毕竟打“hello world”没区别。
真这么认为,就图样图森破了!以下代码执行验证于 go 1.15.2 版本。
看个例子:
package mainimport "fmt"func main() {ss := make([]int,5)ss = append(ss, 4)fmt.Println(ss)println(ss)
}// 打印结果 有时候一串地址在上面...
[6/10]0xc000058050
[0 0 0 0 0 4]
对于略复杂的结构,println()出来的结果是对象地址,而fmt.Println()出来的是我们想看到的具体内容。
对“地址”有异议的,加下面一条,就明白了。
fmt.Println(&ss[0])
如果觉得切片,不具备代表性,那么来个结构体看看,差别更大了。来看一段代码的例子:
package mainimport "fmt"type mystr struct {a int8b stringc bool
}func main() {mm := mystr{100, "Shanghai", true}fmt.Println(mm)println(mm)
}// 执行直接报错:
# command-line-arguments
SHTraining\basicprac\funcs\noname.go:14:9: illegal types for operand: print
print()报错,说类型不对。
总之,99%情况,建议还是用 fmt.Println()好了。
至于说,print()或者println()打印内容出现位置很随机这个问题(就是说,如果fmt.Prinln()和println()都执行的话,println()结果不一定先出来或者后出来),猫哥一时半会儿没研究清楚。
Golang中的println和fmt.Println相关推荐
- Go语言初见println和fmt.Println区别
目录 println()函数: fmt.println()函数: 总结区别: 1.包不同: 2.输出方式不同: 3.方法返回值不同: 4.内置print/println函数的调用不能接受数组和结构体参 ...
- golang中的shell
api func (*Cmd) Run func (c *Cmd) Run() errorRun执行c包含的命令,并阻塞直到完成. 如果命令成功执行,stdin.stdout.stderr的转交没有问 ...
- golang 中 map 转 struct
golang 中 map 转 struct package mainimport ("fmt""github.com/goinggo/mapstructure" ...
- Go实战--golang中使用redis(redigo和go-redis/redis这个已测试)
自己做测试了没有问题,虚拟机连不上可以把包下载到本地. 版权声明:本文为博主原创文章,未经博主允许不得转载. http://blog.csdn.net/wangshubo1989/article/de ...
- Golang中闭包的理解
简介 参考博客: https://www.calhoun.io/what-is-a-closure/ https://blog.cloudflare.com/a-go-gotcha-when-clos ...
- Go实战--golang中defer的使用
原址 生命不止,继续 go go go !!! 学习golang这么久了,还没看到类似传统的 try-catch-finally 这种异常捕捉方式. 但是,Go中引入的Exception处理:def ...
- golang 中 channel 的详细使用、使用注意事项及死锁分析
什么是 channel 管道 它是一个数据管道,可以往里面写数据,从里面读数据. channel 是 goroutine 之间数据通信桥梁,而且是线程安全的. channel 遵循先进先出原则. 写入 ...
- golang中channel使用
1 golang中channel使用 文章目录 1 golang中channel使用 1.1 channel介绍 1.2 channel使用 1.2.1 channel声明和初始化 1.2.2 cha ...
- Golang中的深拷贝与浅拷贝
一.概念 1.深拷贝(Deep Copy) 拷贝的是数据本身,创造一个样的新对象,新创建的对象与原对象不共享内存,新创建的对象在内存中开辟一个新的内存地址,新对象值修改时不会影响原对象值.既然内存地址 ...
最新文章
- Java 树形结构数据生成--不需要顶级节点
- mysql 使用中 修复 blog_Java My-Blog之mysql容器重复初始化严重bug修复过程
- 阿里云服务器如何选配?
- jqGrid getGridParam办法
- IE 6 特有的条件注释详情
- No result defined for action com.lk.IndexAction and result success
- 2017.9.20 cheat 失败总结
- 如何做带宽估计和丢包策略
- PHP和MySQL Web开发从新手到高手,第1天-搭建PHP开发环境
- Interface的精髓——《Thinking in Java》随笔025
- 大 Θ记号、大 Ω记号、空间复杂度、时间复杂度
- iOS 提交app到iTunes Connect预览截图截取方法及尺寸大小
- 【信号与系统|吴大正】4:信号分解、傅里叶变换与信号谱(下)
- 反欺骗:从黑客时代的神话说起
- PANTONE国际色卡CMYK配方表
- 学习日志-《微习惯》心得
- Godaddy域名push教程(域名转出教程)
- .net 发短信案例
- 从C快速入门C++ (命名空间、引用、函数重载)
- 计算机网络CiscoPacket Tracer实验
热门文章
- VisionPro常用视觉工具详解--CogPMAlignTool
- Prompt工程师指南[高阶篇]:对抗性Prompting、主动prompt、ReAct、GraphPrompts、Multimodal CoT Prompting等
- 外观专利申请流程及时间及费用
- VM 出现内部错误,打不开虚拟机
- 【京东API】京东app获得JD商品详情原数据接口
- 利用POST重启路由器,一直无法实现,求帮助
- Web和HTTP《计算机网络——自顶向下方法(James F. Kurose, Keith W. Rose)》
- 利用SQLCipher加解密数据库(包括加解密已有的数据库)
- 【机器视觉中的Blob 斑点分析】
- AJAX怎么实现同步请求?Ajax同步和异步请求有什么区别以及使用场景有哪些?