输入函数
(1)fmt.Scan(&input_data)
前面加上取地址符,把变量地址交给scan
go语言遵从值拷贝,如果只是传name是会拷贝值,而无法改变name的值
输入多个值,用空格分割。使用回车不会中断程序,必须得把内容输完
(2)Scanln:换行即结束。注意:Scan:即使换行了也得继续输入
(3)fmt.Scanf:格式化输入
package main
import "fmt"
func main() {
var name1, name2, name3 string
fmt.Println("请输入姓名 ")
fmt.Scan(&name1) // 等待用户在命令行输入一个值
fmt.Println("name1: ", name1)
fmt.Println("再输入一次")
fmt.Scanln(&name2)
fmt.Println("name2: ", name2)
fmt.Scanf("%s", &name3)
fmt.Println("name3: ", name3)
}
练习
引导用户输入生日字符串,格式为"年-月-日"
, 比如"1990-3-16"
,然后按"您的生日是1990年-3月-16日"
的格式化字符串输出到终端控制台
package main
import (
"fmt"
"strings"
)
func main() {
// 输入输出函数的应用
fmt.Println("请输入您的生日,按格式:年-月-日")
var birth string
fmt.Scan(&birth)
birthSlice := strings.Split(birth, "-")
fmt.Println(birthSlice)
fmt.Printf("您的生日是%s年-%s月-%s日", birthSlice[0], birthSlice[1], birthSlice[2])
}
引导用户输入一个名字,判断该名字是否以小写a或者大写A开头,如果是打印true,否则打印false
package main
import (
"fmt"
"strings"
)
func main() {
var name string
fmt.Println("请输入一个英文名")
fmt.Scan(&name)
// 方法1
//var b = (strings.HasPrefix(name, "a")) || (strings.HasPrefix(name, "A"))
//fmt.Println(b)
// 方法2
UpperName := strings.ToUpper(name)
var b = strings.HasPrefix(UpperName, "A")
fmt.Println(b)
}
网友评论