美文网首页
Go_019_输入函数

Go_019_输入函数

作者: 为宇绸缪 | 来源:发表于2023-05-11 23:08 被阅读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)
    }
    

    相关文章

      网友评论

          本文标题:Go_019_输入函数

          本文链接:https://www.haomeiwen.com/subject/xvcesdtx.html