Go的学习路程:输出(一)|Go 主题月

263 阅读2分钟

无论是写代码还是调式代码,输出都是很重要的事。通过输出语句可以打印我想要输出的文字,或者我们想知道的变量的值。这在研究代码逻辑的时候是非常有用的。

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")
}

goprint1.png

通过如上代码可以看到 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 表示该位置需要数字类型变量来替换。