一、基本概念
fmt.println是Go語言標準庫中的一個函數,是fmt包下的一個輸出函數,它可以依次打印傳入的多個參數,最后一個參數后面加換行符。fmt中還有其他輸出函數,比如fmt.print、fmt.Printf等,其中fmt.Printf可以進行格式化輸出。
下面是一個示例代碼:
package main
import "fmt"
func main() {
fmt.Println("hello, world")
}
二、多種參數類型的打印
fmt.Println可以接受多種不同類型的參數,包括字符串、數值、數組、切片、字典、結構體等等。不同類型的參數將按不同的方式進行打印,需要注意的是,如果是自定義結構體類型,需要實現String() 方法。
下面是一個示例代碼:
package main
import "fmt"
type Person struct {
Name string
Age int
}
func (p Person) String() string {
return fmt.Sprintf("%v (%v years)", p.Name, p.Age)
}
func main() {
str := "hello, world"
num := 123
arr := [3]string{"a", "b", "c"}
sli := []string{"a", "b", "c"}
dict := map[string]int{"a": 1, "b": 2, "c": 3}
per := Person{"Alice", 20}
fmt.Println(str)
fmt.Println(num)
fmt.Println(arr)
fmt.Println(sli)
fmt.Println(dict)
fmt.Println(per)
}
三、格式化輸出
fmt.Printf可以進行格式化輸出,格式化字符串中以%開頭的占位符會被后面的參數依次替換。例如,%v表示按值本身的格式輸出數據,%d表示輸出一個10進制整數,%s表示輸出一個字符串。
下面是一個示例代碼:
package main
import "fmt"
func main() {
str := "hello, world"
num := 123
fmt.Printf("str: %s, num: %d", str, num)
}
四、輸出重定向
除了直接在控制臺輸出,fmt還可以將輸出重定向到其他地方,比如文件或標準錯誤輸出。這可以通過os包中的函數來實現。
下面是一個示例代碼:
package main
import (
"fmt"
"os"
)
func main() {
f, _ := os.Create("output.txt")
defer f.Close()
fmt.Fprintf(f, "hello, world")
fmt.Fprintln(os.Stderr, "error message")
}
五、總結
fmt是Go語言中用于輸出的一個非常重要的包,其中的fmt.Println函數具有簡單易用、支持多種數據類型、支持輸出重定向等特點。同時,fmt包中還有其他輸出函數和格式化輸出函數,可以滿足不同的需求。