Print/Printf 区别

Print: 可以打印出字符串, 和变量

fmt.Println(var) //right
fmt.Println("string") //right

Printf: 只可以打印出格式化的字符串, 可以输出字符串类型的变量, 不可以输出整形变量和整形

fmt.Printf("%x",var) //right
fmt.Printf(var) //error

----------------------------------------------------------------------------------

fmt.Println / println 区别

以nemo的答案为基础:

println是一种内置于该语言中的函数。 它位于规范的Bootstrapping部分。 从链接:

当前实现提供了几个在引导期间有用的内置函数。 记录这些函数是为了完整性,但不保证保留在该语言中。 他们不会返回结果。

Function   Behavior

print      prints all arguments; formatting of arguments is implementation-specific
println like print but prints spaces between arguments and a newline at the end

因此,它们对开发人员很有用,因为它们缺少依赖性(内置于编译器中),但不包含在生产代码中。 同样重要的是要注意printprintln 向stderr报告,而不是stdout 。

然而, fmt提供的系列是用生产代码构建的。 除非另有说明,否则他们可以预测stdout 。 它们更通用( fmt.Fprint*可以向任何io.Writer报告,例如os.Stdout , os.Stderr ,甚至net.Conn类型。)并且不是特定于实现的。

大多数负责输出的软件包都将fmt作为依赖项,例如log 。 如果您的程序将在生产中输出任何内容,则fmt很可能是您想要的包。

----------------------------------------------------------------------------------

以nemo的答案为基础:

Golang Learn Log #0的更多相关文章

  1. Golang官方log包详解

    Golang官方log包详解 以下全是代码, 详解在注释中, 请从头到尾看 // Copyright 2009 The Go Authors. All rights reserved. // Use ...

  2. golang之log rotate

    操作系统: CentOS 6.9_x64 go语言版本: 1.8.3 问题描述 golang的log模块提供的有写日志功能,示例代码如下: /* golang log example E-Mail : ...

  3. console.log(0.2+0.4===0.6)// true or false??

    在正常的数学逻辑思维中,0.2+0.4===0.6这个逻辑是正确的,但是在JavaScript中0.2+0.4!==0.6这是为什么呢?这个问题也会偶尔被用来当做面试题来考查面试者对 JavaScri ...

  4. golang ---Learn Concurrency

    https://github.com/golang/go/wiki/LearnConcurrency 实例1: package main import ( "fmt" " ...

  5. golang 前置补0

    package main import ( "fmt" ) func main() { a := 1 fmt.Println(a) //前置补0 fmt.Printf(" ...

  6. golang package log

    package main import ( "log" "os" ) var logger *log.Logger func main() { file, er ...

  7. Golang中log与fmt区别

    关于使用log与使用fmt的区别 最初的就是直接打印出来,之后一点点升级,比如加上输出的时间,加上goroutine之间的并发操作(打印信息并不能一定按照你规定好的顺序输出来 每次输出的顺序可能会不同 ...

  8. golang基础学习---log

    package main import ( "log" ) func init() { log.SetPrefix("TRACE: ") log.SetFlag ...

  9. Golang 标准库log的实现

      原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://gotaly.blog.51cto.com/8861157/1406905 前 ...

随机推荐

  1. jquery学习笔记(二):DOM元素操作

    内容来自[汇智网]jquery学习课程 2.1 元素属性操作 1.获取元素的属性 语法:attr(name) 参数name表示属性的名称 2.设置元素的属性 单个属性设置语法:attr(key,val ...

  2. Windbg 查看SSDT表

    SSDT HOOK 的原理其实非常简单,我们先实际看看KeServiceDescriptorTable是什么样的.         lkd> dd KeServiceDescriptorTabl ...

  3. SpringBoot--外部配置

    常见的SpringBoot外部配置有常规属性配置.类型安全的配置.日志配置.Profile配置 一.常规属性配置 在spring中,注入properties中的配置值时,需要两步: 通过注解@Prop ...

  4. SQL 分组后获取每组中最大值

    场景:sql server 2008 drop table ID CREATE TABLE ID ( id ,) not null, code int , D date, PRIMARY KEY (i ...

  5. 第二周课堂笔记1th

    1.    三元运算 + 2.      for循环 for为有限循环,while为无限循环 可迭代对象:是字符串,数字不可以 数字不可以迭代但是可以用range函数 for i in range(1 ...

  6. css盒模型问题

    css盒模型问题 1.基本概念:标准模型和ie模型 2.标准模型和ie模型的区别 3.css如果设置这两种模型 4.js如何获取盒模型的宽高 5.边距重叠 6.BFC 1.CSS盒模型本质上是一个盒子 ...

  7. 建立 CRAMFS 包

    下载 cramfs 工具 从 http://prdownloads.sourceforge.net/cramfs/cramfs­1.1.tar.gz下载源代码包. 把下载包拷贝到 dev_home/t ...

  8. soj97 旅行

    题意:给你一棵n个点的树.m个操作,op 1:在点i上建立银行.op 2:询问从点x开始可以经过至少一个银行走到的点中编号第二大的点. n,m<=1e5. 标程: #include<bit ...

  9. datetime与timestamp相互转换

    select unix_timestamp('2019-12-05 12:26:35'); );

  10. 0903NOIP模拟测试赛后总结

    分-rank33.这次考试心态挂了. 拿到题目通读三道题,发现都十分恶心. 然后把时间押到了T1上.将近两个小时,打了个dfs,一直调调调. 最后没调出来,手模了个数据就把自己两个小时的思路hack了 ...