返回

Go语言中标准输入输出库的用法

后端

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