美文网首页📗Go语言:基础大全
Go语言:为什么使用 fmt.Println() 编译后比 pr

Go语言:为什么使用 fmt.Println() 编译后比 pr

作者: 白祤星 | 来源:发表于2019-10-08 01:44 被阅读0次

前言:


  • 最近我看到 很多代码 都喜欢使用 fmt.Println() 来进行输出
  • 但是 Go 内置的一个 println() 却没什么人使用

作用:


  • println():用于 输出基础类型 的函数,因为是 内置 函数,所以不需要 导包
  • fmt.Println():用于 输出 基础类型 和 复合类型 的函数,隶属于 fmt

简单例子对比:


- 编译:

go build -ldflags="-w -s"

- println() 的例子:

    println(`Hellow World`)

编译后:760 KB

- fmt.Println() 例子:

    fmt.Println(`Hellow World`)

编译后:1,461 KB


  • 上述 简单例子对比 可以看出,fmt.Println() 编译后 可执行文件 的 体积大小println()2倍
  • 这是什么原因导致的?
  • 我通过 VS Code 打开了 fmt 库的 源码
  • 发现了 fmt 库中 还引入了其他的库
  • 导致了编译后体积增大了不少

总结:


  • 在项目中如果不是遇到 复合类型的输出
  • 尽可能不要使用 fmt.Println()
  • 使用 fmt.Println()影响一定的性能
  • 输出 数组 尽可能使用 for range + println()
  • 明确结构的 结构体 可以使用 println(结构体.字段1, 结构体.字段2, 结构体.字段3) 进行输出

相关文章

  • Go语言:为什么使用 fmt.Println() 编译后比 pr

    前言: 最近我看到 很多代码 都喜欢使用 fmt.Println() 来进行输出 但是 Go 内置的一个 prin...

  • Golang 的静态编译

    Go语言和C语言的一个很大的区别是,Go语言只静态编译,做个测试: 一方面是Go语言编译后的可执行文件大小比C语言...

  • Go语言中重写String()方法

    Go语言中的String方法 在go中如果重写了String 方法,那在调用fmt.Println时就会自动去执行...

  • 2 Go安装和常用工具

    一、Go安装 Go定位为系统级别的编程语言,类似C的gcc编译器,Go提供编译器的安装,Go编码完成后通过编译器生...

  • go编程笔记--入门篇

    go语言编程笔记--入门篇 Hello world 此处入门代码不只是简单的fmt.Println("Hello ...

  • go 语言进阶学习笔记(一)

    我先想分析一下现在有哪些公司使用go 语言,go语言在实际开发中有哪些使用场景,为什么要从其他语言转换成go语言。...

  • go 语言入门

    我先想分析一下现在有哪些公司使用go 语言,go语言在实际开发中有哪些使用场景,为什么要从其他语言转换成go语言。...

  • filecoin

    【go-filecoin】 编译安装 安装环境 系统:使用的是ubuntu 18.03.1 64位版本 go语言环...

  • Go 语言程序设计(1)

    记录点: Go 语言是一门静态编译型语言,保证了其强大的性能 Go 语言提供了一个官方的本地文档,只需要使用 go...

  • 交叉编译

    使用go的交叉编译 最后使用go build windows_fping.go 编译出.exe可执行文件 如果编译...

网友评论

    本文标题:Go语言:为什么使用 fmt.Println() 编译后比 pr

    本文链接:https://www.haomeiwen.com/subject/fzuvpctx.html