Menu
CoddyTech

格式化输出

本课属于 Coddy GO 学习旅程的“基础知识”单元。第 29 课,共 109 课。

让我们学习如何在 Go 中使用 fmt.Printf() 函数设置输出格式。这个函数可以通过占位符按指定格式显示值。

首先,我们来创建一个程序,使用占位符格式化不同的数据类型:

name := "Gopher"
age := 5
height := 1.5
    
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)

运行这段代码后,屏幕上会显示文本 "Name: Gopher, Age: 5, Height: 1.5"。字符串中的占位符会被变量的实际值替换。

让我们了解每个占位符的作用:

// %s 会被替换为字符串值(name)
// %d 会被替换为整数值(age)
// %.1f 会被替换为保留 1 位小数的浮点数值(height)
// %t 会被替换为布尔值(true 或 false)
// %c 会被替换为单个字符(如 'A' 这样的 rune)

格式字符串末尾的 \n 是一个转义字符,它会将光标移到新的一行,就像按下 Enter 一样。它必须放在引号内,并且结尾引号前不能有空格,否则输出中会出现多余的空格。

fmt.Printf() 函数会将每个占位符替换为格式字符串后面提供的对应变量。变量的顺序必须与占位符的顺序一致。

现在我们再试一个使用不同格式类型的示例:

pi := 3.14159
percentage := 0.75
letter := 'A'

fmt.Printf("Pi: %.2f, Percentage: %.1f%%, Letter: %c\n", pi, percentage*100, letter)

运行这段代码后,屏幕上会显示文本 "Pi: 3.14, Percentage: 75.0%, Letter: A"。注意,%.2f 只显示 pi 的 2 位小数,我们还会将百分比乘以 100,把它显示为百分比值。

还要注意格式字符串中的 %%。这是一个特殊的转义序列,用于输出字面上的 % 符号。单个 % 会被视为占位符的开头,因此每当我们想在输出中显示实际的百分号时,就使用 %%。

challenge icon

挑战

简单

在这个挑战中,你将练习在 Go 中使用 `fmt.Printf()` 函数进行格式化输出。

你有一些产品信息,需要使用格式动词按指定格式显示。变量已经为你定义好了。

你的任务是使用 `fmt.Printf()` 和恰当的格式动词来显示产品信息:
- 字符串使用 `%s`
- 整数使用 `%d`  
- 保留 2 位小数的浮点数使用 `%.2f`
- 布尔值使用 `%t`

显示的产品信息必须与预期输出完全一致。

亲手试试

package main

import "fmt"

func main() {
	// 商品信息
	productName := "Wireless Headphones"
	productPrice := 79.99
	productInStock := true
	productID := 12345
	
    // TODO: 使用 fmt.Printf() 和格式化占位符显示商品信息:
    // Product: Wireless Headphones (ID: 12345)
    // Price: $79.99
    // In Stock: true
    //
    // 提示:用 %s 表示字符串,%d 表示整数,%.2f 表示浮点数,%t 表示布尔值
    // 记得在每行末尾添加 \n,以确保格式正确
	
	
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Go 在线编译器