02 fmt
2025/9/22大约 2 分钟
02 fmt
本处为了后续介绍 fmt 包,简单介绍一下变量的声明,后续会详细讲解。
Golang 中定义变量比较常用的方法有如下两种:
// var 定义变量
var var_name var_type = var_value
// 类型推导方式定义短变量
var_name := var_value
注意,第二种方式不能用于定义全局变量,只能用于定义局部变量。
fmt
在 Golang 中,打印数据的方法有很多,比如: Println,Print,Printf,Sprintf,Scan,实际开发中,主要使用的是: Printf 和 Println。
最基础的打印函数,直接输出内容,不会自动换行。
fmt.Print("Hello")
fmt.Print("World\n") // 手动换行,和c一样
// HelloWorld
注意: Go 中打印字符串必须是 双引号,如果是单引号,则会直接打印对应 ASCII 值,这三种打印方法都是这样。
Println
打印内容并自动在末尾添加换行符,多个参数之间会自动添加空格。
fmt.Println("Hello")
fmt.Println("World")
/* Hello
World */
name := "Golang"
age := 20
fmt.Println("姓名:", name, "年龄:", age)
// 姓名: Golang 年龄: 25
Printf
格式化打印,类似于 C 语言的printf,使用占位符来格式化输出。
name := "李四"
age := 30
score := 95.5
fmt.Printf("姓名:%s,年龄:%d,分数:%.2f\n", name, age, score)
// 姓名:李四,年龄:30,分数:95.50
常用的格式化占位符:
%s
- 字符串%t
- 布尔类型%d
- 十进制整数%f
- 浮点数%.xf
- 保留x位小数的浮点数%v
- 值的默认格式表示,比较通用%+v
- 类似%v,但输出结构体时会添加字段名%#v
- 会额外打印属于什么包的什么方法%T
- 值的类型
Sprintf
格式化字符串并返回,不直接打印到控制台,通常用于组装字符串。
name := "王五"
age := 28
message := fmt.Sprintf("用户信息:%s,%d岁", name, age)
fmt.Println(message)
// 用户信息:王五,28岁
Scan
用于从标准输入读取数据。
var name string
var age int
fmt.Print("请输入姓名:")
fmt.Scan(&name)
fmt.Print("请输入年龄:")
fmt.Scan(&age)
fmt.Printf("您输入的信息:姓名 %s,年龄 %d\n", name, age)