一、基本概念
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包中还有其他输出函数和格式化输出函数,可以满足不同的需求。