fmt.Sprintf 函数和 fmt.Printf 函数类似,只是它返回一个字符串,而不是输出到控制台。其基本语法如下:
func Sprintf(format string, a ...interface{}) string例如:goCopy codestr := fmt.Sprintf("%d %s", 10, "hello")
上述代码将返回字符串 10 hello。
fmt.Fprintf 函数可以将格式化字符串输出到一个 io.Writer 接口中,比如文件或网络连接。其基本语法如下:
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)其中,w 参数是实现了 io.Writer 接口的对象,format 参数是格式化字符串,a ...interface{} 参数是可变参数,可以传入任意个数和任意类型的参数。例如:
file, err := os.Create("output.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
fmt.Fprintf(file, "%d %s\n", 10, "hello")上述代码将输出 10 hello 到文件 "output.txt" 中。
fmt 包还提供了多种格式化输入的函数,可以从控制台或其他 io.Reader 接口中读取数据。
fmt.Scan 函数用于从标准输入中读取数据,以空格或换行符为分隔符,赋值给指定的变量。其基本语法如下:
func Scan(a ...interface{}) (n int, err error)其中,a ...interface{} 参数是一个或多个指向变量的指针。例如:
var name string
var age int
fmt.Scan(&name, &age)
fmt.Printf("name: %s, age: %d\n", name, age)上述代码将从标准输入中读取两个变量的值,以空格或换行符为分隔符,输出变量的值。
fmt.Scanf 函数和 fmt.Scan 函数类似,只是它需要指定格式化字符串,以解析输入的数据。其基本语法如下:
func Scanf(format string, a ...interface{}) (n int, err error)例如:
var name string
var age int
fmt.Scanf("%s %d", &name, &age)
fmt.Printf("name: %s, age: %d\n", name, age)上述代码将从标准输入中读取两个变量的值,按照指定的格式化字符串解析输入的数据,输出变量的值。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。