跳到主要内容

Go语言打印语句

提示
  1. 打印函数:Go 语言中,fmt.Print()fmt.Println()fmt.Printf() 是用于输出打印的主要函数,需要导入 fmt 包来使用。
  2. 打印细节fmt.Print() 直接打印内容,fmt.Println() 在打印内容后自动添加新行,而 fmt.Printf() 允许格式化字符串,例如使用 %d%g%s 等格式化标识符。
  3. 不使用 fmt 包打印:虽然还可以使用 print()println() 函数进行打印,但通常推荐使用 fmt 包,因为 print()println() 主要用于调试。

在 Go 编程中,我们使用以下三个函数来打印输出信息。

  • fmt.Print()
  • fmt.Println()
  • fmt.Printf()

注意: 这些函数都定义在 fmt 包下。所以,在使用这些函数之前,我们必须导入 fmt 包。

Go fmt.Print()

让我们看一个例子。

// 用于演示 fmt.Print() 的程序

package main

// 导入 fmt 包
import "fmt"

func main() {

fmt.Print("Hello, ")
fmt.Print("World!")

}

输出

Hello World!

这里,fmt.Print() 函数打印括号 () 内的内容。

打印变量

这是我们在 Go 编程中打印变量的方式。

// 用于演示 fmt.Print() 的程序

package main

// 导入 fmt 包
import "fmt"

func main() {

name := "John"
fmt.Print(name)

}

输出

John

注意: 在打印时,我们不必将变量包裹在引号内。否则,它将被视为字符串。

一次打印多个值

我们可以通过用逗号分隔它们来一次打印多个值和变量。例如,

// 用于演示 fmt.Print() 的程序

package main

// 导入 fmt 包
import "fmt"

func main() {

name := "John"
fmt.Print("Name: ", name)
}

输出

Name: John

Go fmt.Println()

fmt.Println() 的工作方式与 fmt.Print() 类似,但有几个不同之处。

  1. fmt.Println() 默认在末尾打印一个新行。
  2. 如果我们一次打印多个值和变量,值之间默认会添加一个空格。
// 用于演示 Println() 函数用法的程序

package main
import "fmt"

// 在不同行中打印输出
func main() {

currentSalary := 50000

fmt.Println("Hello")
fmt.Println("World!")
fmt.Println("Current Salary:", currentSalary)

}

输出:

Hello
World!
Current Salary: 50000

注意事项:

  • 所有输出信息都在不同的行中打印
  • Current Salary: 后默认添加了一个空格

Go fmt.Printf()

fmt.Printf() 函数格式化字符串并将它们发送到屏幕上。让我们看一个例子。

currentAge := 21
fmt.Printf("Age = %d", currentAge)

这里,fmt.Printf() 函数用 currentAge 的值替换了 %d

顺便说一下,%d 是一个格式说明符,用于用其值替换整数变量

Printf() 函数与整数格式说明符 %d 的工作原理。

在 Go 中,每种数据类型都有唯一的格式说明符。

数据类型格式说明符
整数%d
浮点数%g
字符串%s
布尔值%t

示例:使用 %g 打印浮点值

// 用 %g 格式说明符打印整数的程序

package main
import "fmt"

func main() {
var number annualSalary = 65000.5

fmt.Printf("Annual Salary: %g", annualSalary)
}

输出

Annual Salary: 65000.5

这里,fmt.Printf()"Annual Salary: %g" 字符串转换为 "Annual Salary: 65000.5"

示例:使用格式说明符保存变量的值

一个格式字符串也可能有多个格式说明符。

package main
import "fmt"

func main() {
var name = "John"
age := 23

fmt.Printf("%s is %d years old.", name, age)
}

输出

John is 23 years old.

以下是代码的工作原理:

Go 中格式说明符 %d 和 %s 的工作原理

不使用包进行打印

我们也可以在不使用 fmt 包的情况下打印输出。为此,我们使用 print()println()。例如,

// 程序使用 print() 函数打印输出

package main

func main() {
println("使用 println 替代 fmt.Println")

print("使用 print 替代 fmt.Print")
}

输出

使用 println 替代 fmt.Println
使用 print 替代 fmt.Print

这里,我们分别使用了 println()print() 来替代 fmt.Println()fmt.Print()

注意: 建议使用 fmt 包进行打印。我们通常只在调试目的时使用 println()print()。要了解更多,请访问Go 编程中 fmt.Println() 与 println() 的区别