func Sprintf(format string, a ...interface{}) string
func Sprint(a ...interface{}) string
func Sprintln(a ...interface{}) string
package main
import (
"fmt"
"net/http"
"os"
)
func main() {
name := "lnj"
age := 33
// 按照指定的格式生成字符串
str := fmt.Sprintf("name = %s, age = %d\n", name, age)
// 输出生成的字符串
fmt.Println(str)
}
输入函数
func Scanf(format string, a ...interface{}) (n int, err error)
和C语言用法几乎一模一样, 但是只能输入一行数据
package main
import "fmt"
func main() {
var num1 int
var num2 int
fmt.Scanf("%d%d", &num1, &num2)
fmt.Println(num1, num2)
}
func Scan(a ...interface{}) (n int, err error)
和C语言scanf函数几乎一样, 只不过不用指定格式化字符串
package main
import "fmt"
func main() {
var num1 int
var num2 int
fmt.Scan(&num1, &num2)
fmt.Println(num1, num2)
var num3 float32
var num4 float32
fmt.Scan(&num3, &num4)
fmt.Println(num3, num4)
}
func Scanln(a ...interface{}) (n int, err error)
和C语言用法几乎一模一样, 只不过不用指定格式化字符串, 并且只能输入一行数据
package main
import "fmt"
func main() {
var num1 int
var num2 int
fmt.Scanln(&num1, &num2)
fmt.Println(num1, num2)
}
func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error)
func Fscanln(r io.Reader, a ...interface{}) (n int, err error)
func Fscan(r io.Reader, a ...interface{}) (n int, err error)
package main
import "fmt"
func main() {
var num1 int
var num2 int
// 第一个参数: 指定从哪读取数据
// 第二个参数: 指定格式控制字符串
// 第三个参数: 指定要输出的数据
fmt.Fscanf(os.Stdin, "%d%d", &num1, &num2)
fmt.Println(num1, num2)
s := strings.NewReader("lnj 33")
var name string
var age int
// 从指定字符串中扫描出想要的数据
// 注意:
fmt.Fscanf(s, "%s%d", &name, &age)
fmt.Println("name =",name, "age =",age)
}
func Sscan(str string, a ...interface{}) (n int, err error)
func Sscanf(str string, format string, a ...interface{}) (n int, err error)
func Sscanln(str string, a ...interface{}) (n int, err error)
package main
import "fmt"
func main() {
str := "lnj 33"
var name string
var age int
//fmt.Sscanf(str, "%s %d",&name, &age)
//fmt.Sscanln(str,&name, &age)
fmt.Sscan(str,&name, &age)
fmt.Println("name =",name, "age =",age)
}