У меня есть файл со следующим содержимым:
1 2 3 4 5
6 0 0 0 7
8 0 0 0 9
10 0 0 0 11
12 13 14 15 16
Мне нужен многомерный массив (или срез) [][]int
. Я попытался поиграться с библиотекой scanner.Scanner
:
scan.Init(f) // f is a file
scan.Whitespace = 1<<'\t' | 1<<'\r' | 1<<' '
tok := scan.Scan()
for tok != scanner.EOF {
// do something with tok
if tok == scanner.String {
fmt.Print("\n")
} else if tok == scanner.Int {
// Handle int value
// How do I get the matched token value?
}
tok = scan.Scan()
}
Я не могу найти способ получить значение токена, который был сопоставлен.
Итак, два вопроса:
- Как получить значение любого отсканированного токена?
- Как я могу динамически создать этот двумерный срез / массив, прежде чем узнать его точный размер? (может быть любого размера на самом деле)