Go_019_输入函数

2023-05-11  本文已影响0人  为宇绸缪

输入函数
(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)
}
上一篇下一篇

猜你喜欢

热点阅读