无论是写代码还是调式代码,输出都是很重要的事。通过输出语句可以打印我想要输出的文字,或者我们想知道的变量的值。这在研究代码逻辑的时候是非常有用的。
Go 在 fmt 包中提供了一系列的函数用来方便我们输出内容。
普通输出
fmt.Println("Hello world") // Hello world
如上代码显示了一个非常简短的输出,即在控制台中输出 “Hello world” 并换行
package main
import "fmt"
func main () {
fmt.Println("Hello")
fmt.Println(" ")
fmt.Println("world")
fmt.Print("Hello")
fmt.Print(" ")
fmt.Print("world")
}
通过如上代码可以看到 Println 每次输出都会自动追加一个换行符,而 Print 只输出指定的内容。
格式化输出
以上只是普通形式的输出。有时候我们需要打印的是字符串和变量值组成的内容,如果变量是 string 类型还好直接使用操作符 + 就可以拼接到一起。
func main () {
name := "mengaily"
fmt.Println("hello " + name) // hello mengaily
}
如果需要拼接的变量不是 string 类型的,比如 int 类型的。就需要先将 int 类型转换成 string 之后再通过操作符 + 进行拼接。
func main () {
age := 31
fmt.Println("age: " + strconv.Itoa(age)) // age: 31
}
虽然这样也能达到我们的目的,但是使用起来非常的不方便。还好 fmt 给我们提供了 Printf 函数,提供更高阶的输出方式,格式化输出。
格式化输出通过使用占位符来代替要输出的内容,定义一段包含多个占位符的格式字符串,通过 Printf 函数将对应内容替换到相应的占位符的位置上。
func main () {
age := 31
fmt.Printf("age: %d", age) // age: 31
}
通过占位符 %d,来替代 age。%d 表示该位置需要数字类型变量来替换。