Go语言中标准输入输出库的用法
2023-11-24 11:34:50
Go语言标准输入输出库的简介
Go语言标准输入输出库fmt是一个非常强大的库,它提供了丰富的功能,可以帮助开发者轻松地进行输入和输出操作。fmt库中的主要函数包括:
- Print函数:用于将数据输出到标准输出设备,例如控制台。
- Println函数:用于将数据输出到标准输出设备,并在数据后添加一个换行符。
- Printf函数:用于将数据输出到标准输出设备,并根据指定的格式对数据进行格式化。
- Scan函数:用于从标准输入设备读取数据。
- Scanln函数:用于从标准输入设备读取数据,并在数据后添加一个换行符。
- Sscanf函数:用于从字符串中读取数据。
- Fscanf函数:用于从文件中读取数据。
- Fprintf函数:用于将数据写入到文件中。
Go语言标准输入输出库的用法
Print函数的用法
Print函数用于将数据输出到标准输出设备,例如控制台。Print函数的语法格式如下:
func Print(a ...interface{}) (n int, err error)
其中,a是可变参数列表,可以传入任意数量的数据。Print函数会将这些数据依次输出到标准输出设备。
例如,以下代码将字符串"Hello, world!"输出到控制台:
package main
import (
"fmt"
)
func main() {
fmt.Print("Hello, world!")
}
Println函数的用法
Println函数用于将数据输出到标准输出设备,并在数据后添加一个换行符。Println函数的语法格式如下:
func Println(a ...interface{}) (n int, err error)
其中,a是可变参数列表,可以传入任意数量的数据。Println函数会将这些数据依次输出到标准输出设备,并在数据后添加一个换行符。
例如,以下代码将字符串"Hello, world!"输出到控制台,并在字符串后添加一个换行符:
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello, world!")
}
Printf函数的用法
Printf函数用于将数据输出到标准输出设备,并根据指定的格式对数据进行格式化。Printf函数的语法格式如下:
func Printf(format string, a ...interface{}) (n int, err error)
其中,format是格式化字符串,a是可变参数列表,可以传入任意数量的数据。Printf函数会根据format字符串的格式,将数据格式化后输出到标准输出设备。
例如,以下代码将整数123和字符串"Hello, world!"输出到控制台,并使用"%d"和"%s"格式化字符串对数据进行格式化:
package main
import (
"fmt"
)
func main() {
fmt.Printf("%d %s\n", 123, "Hello, world!")
}
Scan函数的用法
Scan函数用于从标准输入设备读取数据。Scan函数的语法格式如下:
func Scan(a ...interface{}) (n int, err error)
其中,a是可变参数列表,可以传入任意数量的数据。Scan函数会从标准输入设备读取数据,并将其存储在a参数指定的变量中。
例如,以下代码从标准输入设备读取一个整数和一个字符串,并将其存储在变量i和s中:
package main
import (
"fmt"
)
func main() {
var i int
var s string
fmt.Scan(&i, &s)
}
Scanln函数的用法
Scanln函数用于从标准输入设备读取数据,并在数据后添加一个换行符。Scanln函数的语法格式如下:
func Scanln(a ...interface{}) (n int, err error)
其中,a是可变参数列表,可以传入任意数量的数据。Scanln函数会从标准输入设备读取数据,并将这些数据依次存储在a参数指定的变量中。在读取数据后,Scanln函数会自动添加一个换行符。
例如,以下代码从标准输入设备读取一个整数和一个字符串,并将其存储在变量i和s中。在读取数据后,Scanln函数会自动添加一个换行符:
package main
import (
"fmt"
)
func main() {
var i int
var s string
fmt.Scanln(&i, &s)
}
Sscanf函数的用法
Sscanf函数用于从字符串中读取数据。Sscanf函数的语法格式如下:
func Sscanf(str string, format string, a ...interface{}) (n int, err error)
其中,str是需要解析的字符串,format是格式化字符串,a是可变参数列表,可以传入任意数量的数据。Sscanf函数会根据format字符串的格式,从str字符串中读取数据,并将其存储在a参数指定的变量中。
例如,以下代码从字符串"123 Hello, world!"中读取一个整数和一个字符串,并将其存储在变量i和s中:
package main
import (
"fmt"
)
func main() {
var i int
var s string
fmt.Sscanf("123 Hello, world!", "%d %s", &i, &s)
}
Fscanf函数的用法
Fscanf函数用于从文件中读取数据。Fscanf函数的语法格式如下:
func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error)
其中,r是需要读取的文件,format是格式化字符串,a是可变参数列表,可以传入任意数量的数据。Fscanf函数会根据format字符串的格式,从r文件中读取数据,并将其存储在a参数指定的变量中。
例如,以下代码从文件"data.txt"中读取一个整数和一个字符串,并将其存储在变量i和s中:
package main
import (
"fmt"
"os"
)
func main() {
f, err := os.Open("data.txt")
if err != nil {
// 处理错误
}
var i int
var s string
fmt.Fscanf(f, "%d %s", &i, &s)
}
Fprintf函数的用法
Fprintf函数用于将数据写入到文件中。Fprintf函数的语法格式如下:
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
其中,w是需要写入的文件,format是格式化字符串,a是可变参数列表,可以传入任意数量的数据。Fprintf函数会根据format字符串的格式,将数据格式化后写入到w文件中。
例如,以下代码将整数123和字符串"Hello, world!"写入到文件"data.txt"中,并使用"%d"和"%s"格式化字符串对数据进行格式化:
package main
import (
"fmt"
"os"
)
func main() {
f, err := os.OpenFile("data.txt", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)
if err != nil {
// 处理错误
}
fmt.Fprintf(f, "%d %s\n", 123, "Hello, world!")
}