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相关推荐

  1. Go语言初见println和fmt.Println区别

    目录 println()函数: fmt.println()函数: 总结区别: 1.包不同: 2.输出方式不同: 3.方法返回值不同: 4.内置print/println函数的调用不能接受数组和结构体参 ...

  2. golang中的shell

    api func (*Cmd) Run func (c *Cmd) Run() errorRun执行c包含的命令,并阻塞直到完成. 如果命令成功执行,stdin.stdout.stderr的转交没有问 ...

  3. golang 中 map 转 struct

    golang 中 map 转 struct package mainimport ("fmt""github.com/goinggo/mapstructure" ...

  4. Go实战--golang中使用redis(redigo和go-redis/redis这个已测试)

    自己做测试了没有问题,虚拟机连不上可以把包下载到本地. 版权声明:本文为博主原创文章,未经博主允许不得转载. http://blog.csdn.net/wangshubo1989/article/de ...

  5. Golang中闭包的理解

    简介 参考博客: https://www.calhoun.io/what-is-a-closure/ https://blog.cloudflare.com/a-go-gotcha-when-clos ...

  6. Go实战--golang中defer的使用

    原址 生命不止,继续 go go go !!! 学习golang这么久了,还没看到类似传统的 try-catch-finally 这种异常捕捉方式.  但是,Go中引入的Exception处理:def ...

  7. golang 中 channel 的详细使用、使用注意事项及死锁分析

    什么是 channel 管道 它是一个数据管道,可以往里面写数据,从里面读数据. channel 是 goroutine 之间数据通信桥梁,而且是线程安全的. channel 遵循先进先出原则. 写入 ...

  8. golang中channel使用

    1 golang中channel使用 文章目录 1 golang中channel使用 1.1 channel介绍 1.2 channel使用 1.2.1 channel声明和初始化 1.2.2 cha ...

  9. Golang中的深拷贝与浅拷贝

    一.概念 1.深拷贝(Deep Copy) 拷贝的是数据本身,创造一个样的新对象,新创建的对象与原对象不共享内存,新创建的对象在内存中开辟一个新的内存地址,新对象值修改时不会影响原对象值.既然内存地址 ...

最新文章

  1. Java 树形结构数据生成--不需要顶级节点
  2. mysql 使用中 修复 blog_Java My-Blog之mysql容器重复初始化严重bug修复过程
  3. 阿里云服务器如何选配?
  4. jqGrid getGridParam办法
  5. IE 6 特有的条件注释详情
  6. No result defined for action com.lk.IndexAction and result success
  7. 2017.9.20 cheat 失败总结
  8. 如何做带宽估计和丢包策略
  9. PHP和MySQL Web开发从新手到高手,第1天-搭建PHP开发环境
  10. Interface的精髓——《Thinking in Java》随笔025
  11. 大 Θ记号、大 Ω记号、空间复杂度、时间复杂度
  12. iOS 提交app到iTunes Connect预览截图截取方法及尺寸大小
  13. 【信号与系统|吴大正】4:信号分解、傅里叶变换与信号谱(下)
  14. 反欺骗:从黑客时代的神话说起
  15. PANTONE国际色卡CMYK配方表
  16. 学习日志-《微习惯》心得
  17. Godaddy域名push教程(域名转出教程)
  18. .net 发短信案例
  19. 从C快速入门C++ (命名空间、引用、函数重载)
  20. 计算机网络CiscoPacket Tracer实验

热门文章

  1. VisionPro常用视觉工具详解--CogPMAlignTool
  2. Prompt工程师指南[高阶篇]:对抗性Prompting、主动prompt、ReAct、GraphPrompts、Multimodal CoT Prompting等
  3. 外观专利申请流程及时间及费用
  4. VM 出现内部错误,打不开虚拟机
  5. 【京东API】京东app获得JD商品详情原数据接口
  6. 利用POST重启路由器,一直无法实现,求帮助
  7. Web和HTTP《计算机网络——自顶向下方法(James F. Kurose, Keith W. Rose)》
  8. 利用SQLCipher加解密数据库(包括加解密已有的数据库)
  9. 【机器视觉中的Blob 斑点分析】
  10. AJAX怎么实现同步请求?Ajax同步和异步请求有什么区别以及使用场景有哪些?