当前位置: 首页 > 工具软件 > go_fmt > 使用案例 >

Go 语言 fmt.Scanln() 与 fmt.Scanf() 包使用

常炯
2023-12-01

Go 语言 fmt.Scanln() 与 fmt.Scanf() 包使用

需要接收用户输入的数据,就可使用键盘输入语句来获取。

下面讲述两种方法的使用

  1. fmt.Scanln()的使用

    先声明需要的变量

    package main
    import (
    	"fmt"
    )
    
    func main(){
    	// 需求: 从控制台接收用户信息【姓名, 年龄, 薪水, 是否拿到offer】
    	var name string
    	var age byte
    	var salary float32
    	var isOffer bool
    
    	fmt.Println("请输入姓名:")
    	// 当程序执行到 fmt.Scanl(&name), 程序会停止这里, 等待用户输入, 并回车
    	fmt.Scanln(&name)
    
    	fmt.Println("请输入年龄:")
    	fmt.Scanln(&age)
    
    	fmt.Println("请输入薪水:")
    	fmt.Scanln(&salary)
    
    	fmt.Println("请输入是否拿到Offer:")
    	fmt.Scanln(&isOffer)
    
    	fmt.Printf("名字是 %v\n 年龄是 %v\n 薪水是 %v\n 是否拿到offer %v\n ", name, age, salary, isOffer)
    
    }	
    
    // 输出结果
    请输入姓名:
    fe_cow
    请输入年龄:
    18
    请输入薪水:
    123.123
    请输入是否拿到Offer:
    true
    名字是 fe_cow
     年龄是 18
     薪水是 123.123
     是否拿到offer true
    
  2. fmt.Scanf()的使用

    fmt.Scanf()可以按指定的格式输入

    输入值,使用空格隔开

    package main
    import (
    	"fmt"
    )
    
    func main(){
    	// 需求: 从控制台接收用户信息【姓名, 年龄, 薪水, 是否拿到offer】
    	var name string
    	var age byte
    	var salary float32
    	var isOffer bool
    
    	fmt.Println("请输入您的姓名, 年龄,薪水,是否拿到offer")
    	fmt.Scanf("%s %d %f %t", &name, &age, &salary, &isOffer)
    	fmt.Printf("姓名:%v\n 年龄:%v\n 薪水:%v\n 是否拿到offer:%v\n", name, age, salary, isOffer)
    
    }	
    
    // 输出结果
    请输入您的姓名, 年龄,薪水,是否拿到offer
    fe_cow 18 123.123 true
    姓名:fe_cow
     年龄:18
     薪水:123.123
     是否拿到offer:true
    
 类似资料: