Прежде всего, я новичок в программировании на Go. У меня есть простая программа Golang, которая дает правильный вывод в среде Linux, но не на моем компьютере с Windows 10.
Код выглядит следующим образом:
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
tarr := strings.Split(strings.Trim(text, "\n"), " ")
for i := 0; i < len(tarr); i++ {
num, _ := strconv.ParseInt(tarr[i], 10, 32)
fmt.Println(num)
}
fmt.Println(tarr)
reader.ReadString('\n')
}
Если я введу 1 2 3 в качестве ввода с терминала, я получу следующий вывод в Windows 10 (версия go1.12.5 windows / amd64):
1
2
0
]1 2 3
Я получаю следующий вывод в элементарной ОС Linux (версия go1.12.5 linux / amd64)
1
2
3
[1 2 3]
Может кто-нибудь объяснить, почему это происходит?