对于golang编码面试中的以下输入类型,获得输入的最佳方式是什么?

Input:

3
hello elloh
test estt
tier riet

我找到了两种方法:

Method 1:

reader := bufio.NewReader(os.Stdin)

var lines []string

for {
    line,err := reader.ReadString('\n') //this reads only one read

    if err != nil {
        log.Fatal(err)
    }


    if len(strings.TrimSpace(line)) == 0 {
        break
    }

    line_s := strings.Split(line, " ")

    lines = append(lines, line_s...)

}

Method 2:

bytes, err := ioutil.ReadAll(os.Stdin)

fmt.Println(len(bytes))
if err == nil {
    input := strings.Split(string(bytes), "\n")
    count, _ := strconv.Atoi(input[0])

    fmt.Println(input)
    var lines []string
    for i := 1; i < count; i++ {
        line := strings.Split(input[i], " ")
        lines = append(lines, line...)
    }

    fmt.Println(lines)
}

但不确定如何结束从Method2中的stdin获取输入。

请建议获取输入的最佳方法。