我们需要编写一个程序,允许学生输入他们的分数,并告诉他们是否通过。如果用户输入的百分数大于或等于60,我们的程序需要给出一个响应,否则的话将给出不同的响应。
需要做的第一件事是允许用户输入分数。我们希望他们输入一个数字并按回车键,我们将把他们输入的数字存在一个变量中。让我们添加一些代码来处理这个问题。
import (
    "bufio"
    "fmt"
    "os"
    "log"
)
func main(){
    fmt.Print("enter a grade: ")
    reader :=bufio.NewReader(os.Stdin)  
    input , err := reader.ReadString('\n')  
    if err != nil {
        log.Fatal(err) //报告错误并停止程序
    }
    fmt.Println(input)
        input = strings.TrimSpace(input)  
        grade,err:=strconv.ParseFloat(input,64)  
    if err !=nil {
        log.Fatal(err)
    }
    if grade >=60 {
        status :="pass"
    }else{
        status :="fail"
    }
}首先,我们需要让用户知道需要输入某些东西,所以我们使用fmt.Print函数来显示一个提示符。(与Println函数不同,Print在打印完信息后不会跳到新的终端行,这样我们就可以将提示和用户的输入保持在同一行上。)
接下来,我们需要一种从程序的标准输入中读取(接收和存储)输入的方法,所有的键盘输入都使用标准输入。
reader := bufio.NewReader(os.Stdin)将bufio.Reader保存在reader变量中。
为了实际获得用户的输入,我们调用Reader的ReadString方法。ReadString方法需要一个带有rune(字符)的参数来标记输入的结束。我们想要读取用户输入的所有内容,直到他们按下<Enter>,所以我们给ReadString一个换行符。后面检测错误,如果有错误就停止程序。
再往下是把输入的数字去掉空格和换行符,转换成float64类型,如果大与60就付给变量status为pass,否则就为fail










