ZetCode

Golang print 函数

最后修改时间 2025 年 5 月 8 日

本教程将讲解如何在 Go 中使用内置的 print 函数。我们将通过实际的调试和日志记录示例来介绍基本输出。

print 函数是 Go 的一个内置函数,它将内容写入标准错误流(standard error)。它主要用于调试和简单的输出需求。与 fmt.Print 不同,它不需要导入任何包。

在 Go 中,print 函数方便用于快速调试,但也有其局限性。它不支持格式化,并且总是写入 stderr。对于生产代码,通常更推荐使用 fmt 包中的函数。

基本的 print 示例

print 最简单的用法是将一个字符串输出到标准错误流。本示例演示了基本的字符串输出。
注意:输出显示在 stderr 上,而不是 stdout。

basic_print.go
package main

func main() {
    print("Hello, World!\n")
    print("This is a test message\n")
}

代码将两行内容打印到标准错误流。换行符 \n 用于创建换行。这是最简单的调试输出形式。

打印多个值

print 可以接受多个不同类型的参数。本示例展示了如何一起打印各种数据类型。

multiple_values.go
package main

func main() {
    name := "Alice"
    age := 30
    height := 5.8
    
    print("Name:", name, " Age:", age, " Height:", height, "\n")
}

该函数会自动将所有参数转换为字符串并将它们连接起来。请注意,除非显式添加,否则值之间没有空格。

打印布尔值

print 可以直接显示布尔值。本示例展示了如何打印布尔表达式的结果。

boolean_print.go
package main

func main() {
    a := true
    b := false
    
    print("a is", a, "and b is", b, "\n")
    print("a AND b is", a && b, "\n")
    print("a OR b is", a || b, "\n")
}

布尔值将打印为 truefalse。输出显示了变量值和表达式结果。

在程序执行期间打印

print 对于跟踪程序流程非常有用。本示例展示了如何在不同的执行点进行打印。

execution_trace.go
package main

func calculate(x int) int {
    print("Entering calculate with x =", x, "\n")
    result := x * 2
    print("Exiting calculate with result =", result, "\n")
    return result
}

func main() {
    print("Program started\n")
    res := calculate(5)
    print("Final result:", res, "\n")
    print("Program completed\n")
}

输出显示了程序的执行路径。此技术有助于调试函数调用和跟踪变量变化。

打印指针值

当给出指针时,print 可以显示内存地址。本示例演示了如何打印指针信息。

pointer_print.go
package main

func main() {
    x := 42
    ptr := &x
    
    print("Value of x:", x, "\n")
    print("Address of x:", ptr, "\n")
    print("Value through pointer:", *ptr, "\n")
}

输出同时显示了值和内存地址。指针值默认以十六进制格式打印。

来源

Go 语言规范

本教程通过实际的输出和调试技术示例,讲解了 Go 中的 print 函数。

作者

我叫 Jan Bodnar,是一名充满热情的程序员,拥有丰富的编程经验。自 2007 年以来,我一直在撰写编程文章。迄今为止,我已撰写了 1,400 多篇文章和 8 本电子书。我在教授编程方面拥有超过十年的经验。

列出所有 Golang 教程