go语言Scan-Scanln-Scanf的区别及使用案例
fmt.Scan
package main
import "fmt"
func main() {
var username string
var password string
fmt.Println("请输入用户名和密码:")
// 如果使用Scan时,会提示用户输入
// 用户输入完用户名和密码成之后,会返回两个值:count,用户输入了几个值;err:用户输入错误则是错误信息
_, err := fmt.Scan(&username, &password)
if err == nil {
fmt.Println(username, password)
} else {
fmt.Println("用户输入数据错误", err)
}
// 请注意:fmt.Scan 要求输入两个值,必须输入两个,否则他会一直等待,除非退出程序执行
}
fmt.Scanln
package main
import "fmt"
func main() {
var username string
var password string
fmt.Println("请输入用户名和密码:")
// 如果使用Scanln时,会提示用户输入
// 用户输入完用户名和密码成之后,会返回两个值:count,用户输入了几个值;err:用户输入错误则是错误信息
_, err := fmt.Scanln(&username, &password)
if err == nil {
fmt.Println(username, password)
} else {
fmt.Println("用户输入数据错误", err)
}
// 请注意:fmt.Scanln 不等待是否输入,回车直接往下执行,没输入就会提示错误信息
}
fmt.Scanf
package main
import "fmt"
func main() {
var username string
var password string
fmt.Println("请输入用户名和密码:")
// 如果使用Scanf时,会提示用户输入
_, _ = fmt.Scanf("输入的用户名是:%s 输入的密码是:%s", &username, &password)
fmt.Println(username, password)
// fmt.Scanf 百分号占位符提取用户输入的信息
}
打印输出
请输入用户名和密码:
输入的用户名是:wang 输入的密码是:pwd
wang pwd
读取输入全部
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
line, _, _ := reader.ReadLine()
result := string(line)
fmt.Println(result)
}
转载注明:
感谢博主,喝杯咖啡~
感谢博主,喝杯咖啡~
还没有人发表评论