注意:如果需要输入字符,将字符按照字符串处理,否则会无法获得正确的字符
package main
import "fmt"
func main() {
var name string
var age int
fmt.Scan(&name,&age) //Tom 15\n(后要有换行,否则无法确定数据是否结束)
fmt.Scanf("%s %d",&name,&age) //Tom 15\n(后要有换行,否则无法确定数据是否结束)
fmt.Scanln(&name,&age) //Tom\n15\n
fmt.Print(name,age) //输出结果:Tom 15
fmt.Println(name,age) //输出结果:Tom 15\n
fmt.Printf("%s %d"name,age) //输出结果:Tom 15
}
package main
import "fmt"
func main() {
var name,str string
var age int
fmt.Sscan("Bob 12",&name,&age)
fmt.Sscanln("Bob 12",&name,&age)
fmt.Sscanf("Bob 12","%s %d",&name,&age) //name=Bob age=12
str = fmt.Sprint(name,age) //str="Bob12"
str = fmt.Sprint(age,age) //str="12 12"
str = fmt.Sprintln(name,age) //str="Bob 12\n"
str = fmt.Sprintf("%s is %d years old",name,age) //str="Bob is 12 years old"
fmt.Print(str)
}
符号 | 含义 |
---|---|
%T | 数据类型 |
%v | 数据值 |
%t | 布尔值(true或false) |
%b | 二进制整数, |
%c | rune类型,字符类型(包括中文字符) |
%s | 字符串类型 |
%U | 字符的Unicode格式,如:U+90ED |
%o | 八进制整数 |
%d | 十进制整数 |
%x %X | 十六进制整数,a-f 或 A-F |
%f | 带小数点的浮点数,如:12.340000 |
%e %E | 科学计数法表示浮点数,如:1.234000E+01 |
%p | 指针,十六进制表示 |