go 终端输入的方法:
目录
scanln
package main
import (
"fmt"
)
func main() {
// scanf 一次输入多个变量,空格隔开,按照顺序依次放入变量
var name,phoneNumber,address string
fmt.Printf("Please enter your name and phonenumber: ")
fmt.Scanln(&name, &phoneNumber,&address)
fmt.Println("name = ",name)
fmt.Println("phoneNumber = ", phoneNumber)
fmt.Println("address = ", address)
}
scanf
类似c语言
var name2 string
var age init
fmt.Printf("Please enter your name and age: ")
fmt.Scanf("%s %d", &name2, &age)
fmt.Println("name = ",name2)
fmt.Println("age = ",age)
输出:
注意fmt.Scanf("%s %d", &name2, &age) 中%s 和 %d中间只能是空格或多个空格,如果是,则导致age无值。
OS
var (
inputReader *bufio.Reader //inputReader 是一个指向 bufio.Reader 的指针。
nameAgeNumber string
err error
)
inputReader = bufio.NewReader(os.Stdin) //创建一个读取器,并将其与标准输入绑定。
fmt.Printf("Please input your name age number: ")
nameAgeNumber, err = inputReader.ReadString('\n') //读取器对象提供一个方法 ReadString(delim byte) ,该方法从输入中读取内容,直到碰到 delim 指定的字符,然后将读取到的内容连同 delim 字符一起放到缓冲区。
if err == nil {
fmt.Printf("The input was: %s", nameAgeNumber)
}
输出