我在 Go 语言中输入值的语法

我一直在寻找一种如何在 C 中使用这样的语法的方法


scanf("%d",&num);

我在 Go 语言中发现你可以使用它


fmt.scanf("%d",&num)

问题是当我使用它两次时,它不允许我在第二部分输入值。


例子:


package main


import "fmt"


func main() {

    var name string

    var age int

    fmt.Print("Enter your name: ")

    fmt.Scanf("%s", &name)

    fmt.Print("\nEnter your age: ")

    fmt.Scanf("%d", &age)

    fmt.Println(name,"is",age,"years of Age")

}

示例输入名称=Jack 和年龄=18(这是问题的一部分,其中不允许我输入年龄)它将显示


Jack is 0 years of age


慕无忌1623718
浏览 241回答 2
2回答

慕森王

试试这个:package mainimport ("bufio""fmt""os""strings")func main() {r := bufio.NewReader(os.Stdin)fmt.Print("Enter your name: ")name, _ := r.ReadString('\n')fmt.Print("Enter your age: ")age, _ := r.ReadString('\n')name, age = strings.TrimSpace(name), strings.TrimSpace(age) //remove \nfmt.Println(name, "is", age, "years of Age")}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go