go中print&printf区别|青训营

86 阅读2分钟

在 Go 语言中,printprintf两个函数都来源于fmt库,是用于输出格式化字符串的常用函数。不过它们之间存在一些主要的区别:

  1. printprintln 函数:

printprintln 是不需要格式化的直接打印函数,它们直接输出传递给它们的参数,参数之间用空格分隔开,而println在输出完成后还会添加一个换行符。

例如:

print("Hello", "World")

上述代码会输出 "Hello World"。

  1. printf 函数:

printf 是格式化输出的函数,也就是说,它能按照特定的格式输出字符串。这种功能对于控制输出的格式非常有用。

例如:

printf("Hello %s", "World")

上述代码会输出 "Hello World"。%s是一个占位符,表示将会用一个字符串类型的变量来替换它。

总结一下,printprintln 更像是简单的输出函数,而printf 提供了更多的格式化输出的能力。 在 Go 语言中,=:= 都可以用来赋值,但它们在使用的上下文和目的上有一些差异。

=&:=区别

  1. = : 用于已经声明过的变量赋值。在这种情况下,变量的类型是在声明时确定的,因此我们不能改变变量的类型。比如:
var a int
a = 10

在上面的例子中,我们首先声明了一个名为 a 的整数类型变量,然后我们给 a 赋值为 10

  1. := : 在 Go 中,:= 是一个声明并初始化变量的快捷方式。它会根据右侧的值自动推导变量的类型。如果变量之前没有被声明过,那么可以使用 := 进行声明并赋值。比如:
a := 10

在上面的例子中,我们声明了一个新的变量 a,并将其初始化为 10

值得注意的是,:= 只能用在函数体内,而 var 可以在函数体内外都能使用。而且 := 不可以用于已经在同一作用域声明过的变量,这样会导致编译错误。如果你希望赋值已经声明过的变量,你应该使用 =

  1. 并发: Go通过goroutines和channels来支持并发。使用go关键字可以启动一个新的goroutine。
  2. 格式化风格: Go有一个官方的代码格式化工具go fmt,它将代码格式化为标准的Go风格。
  3. 注释: 使用//进行单行注释,使用/* */进行多行注释。 总结一下,= 是一个赋值操作符,用于给已经声明过的变量赋值,而 := 是一种声明并初始化变量的快捷方式,只能用于还未声明过的变量