Hello World

go:读取标准输入

1. scanner

1.1 scan

  从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,换行符不会结束读取,读取变量个数个输入后读取结束

    var id int
    var name string
    var age int

    fmt.Println("please input you info !")
    // 从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,换行符不会结束读取,读取变量个数个输入后读取结束
    _, err := fmt.Scan(&id, &name, &age)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Printf("id=%d, name=%s,age=%d \n",id,name,age)

 

1.2 scanln

  从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,读遇到换行符后读取结束
    var id int
    var name string
    var age int

    fmt.Println("please input you info !")

    // 从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,读遇到换行符后读取结束
    _, e := fmt.Scanln(&id, &name, &age)
    if e != nil {
        fmt.Println(e)
        return
    }
    fmt.Printf("id=%d, name=%s,age=%d \n",id,name,age)

 

1.3 scanf

  从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,输入个数小于变量个数则会报错,输入个数大于变量个数时忽略多余的输入

    var id int
    var name string
    var age int

    fmt.Println("please input you info !")

    // 从标准输入读取输入,将空格分隔的值依次存放到后续的参数内,输入个数小于变量个数则会报错,输入个数大于变量个数时忽略多余的输入
    _, err1 := fmt.Scanf("%d %s %d", &id, &name, &age)
    if err1 != nil {
        fmt.Println("err:",err1)
        return
    }
    fmt.Printf("%d,%s,%d \n", id, name, age)

2. bufio

  读取标准输入,换行后如果已经读取到结束字符,则会读取到结束字符及之前的文本

    fmt.Println("please input you info !")
    // 设置输入为标准输入,换行后如果已经读取到结束字符,则会读取到结束字符及之前的文本
    reader := bufio.NewReader(os.Stdin)
    // 设置结束字符
    input, err := reader.ReadString('.')
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(input)

输出结果:

 

posted @ 2020-05-28 15:46  小小忧愁米粒大  阅读(691)  评论(0编辑  收藏  举报
瞅啥瞅,好好看书