Go language fmt.Scanln () and fmt.Scanf () package using

Go language fmt.Scanln () and fmt.Scanf () package using

Need to receive data input by a user, the keyboard can be used to obtain the input sentence.

The following describes two methods :

  1. fmt.Scanln () is used :

    先声明需要的变量

    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 () is used :

    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
    
Published 147 original articles · won praise 170 · views 40000 +

Guess you like

Origin blog.csdn.net/Fe_cow/article/details/103887539