首页 > 技术分享 > Golang
收藏

Golang获取键盘输入的参数

12/20 10:44
大潇博客 原创文章,转载请标明出处

在编程中,需要接收用户输入的数据,可以使用fmt包的方法,主要用fmt.Scanln()和fmt.Scanf()。


fmt.Scanln()和fmt.Scanf()并非获取在运行go run时就携带的参数,而是程序运行后,控制台再输入的参数。程序运行到函数这里,会等待用户输入。这两个函数的区别是:

fmt.Scanln:每次捕获单条命令

fmt.Scanf:可以指定输入格式,通过特定分隔符获取多个参数


举例演示fmt.Scanln()用法:

package main

import "fmt"


//fmt.Scanln方法

func main() {

    var name string

    var age byte

    var salary float64

    var isPass bool


    fmt.Println("请输入姓名")

    fmt.Scanln(&name)  //fmt.Scanln获取键盘输入的参数

    if name == "" {

        fmt.Println("没有输入姓名")

    }


    fmt.Println("请输入年龄")

    fmt.Scanln(&age)

    if age == 0 {

        fmt.Println("没有输入年龄")

    }


    fmt.Println("请输入薪水")

    fmt.Scanln(&salary)

    if salary == 0 {

        fmt.Println("没有输入薪水")

    }


    fmt.Println("请输入考试结果,不输入默认为不通过")

    fmt.Scanln(&isPass)


    var result = "姓名\t" + "年龄\t" + "薪水\t" + "是否通过考试\n" + name + "\t" + fmt.Sprintf("%d", age) + "\t" + fmt.Sprintf("%f", salary) + "\t" + fmt.Sprintf("%v", isPass)

    fmt.Println(result)

}

运行结果:


演示fmt.Scanf()用法:

package main

import "fmt"


// fmt.Scanf()用法

func main() {

    var name string

    var age int

    var salary float32

    var isPass bool


    fmt.Println("请输入你的姓名、年龄、薪水、考试结果,使用空格隔开")

    fmt.Scanf("%s %d %f %t", &name, &age, &salary, &isPass)  //通过fmt.Scanf()获取多个参数


    var result = "姓名\t" + "年龄\t" + "薪水\t" + "是否通过考试\n" + name + "\t" + fmt.Sprintf("%d", age) + "\t" + fmt.Sprintf("%f", salary) + "\t" + fmt.Sprintf("%v", isPass)

    fmt.Println(result)

}

运行结果:


打赏

上一篇:Golang运算符

下一篇:最后一页

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311