$ cat print_col.go
// vim: set noexpandtab tabstop=2:
package gen
import "bufio"
func print_col(f *bufio.Writer, fields [][]byte, NF int, i int, sep []byte) {
if(i<=NF) {
f.Write(fields[i-1])
f.Write(sep)
}
}
$ cat main/main.go
// vim: set noexpandtab tabstop=2:
package main
import (
"os"
"bufio"
"strconv"
".."
)
func main() {
stdout := bufio.NewWriter(os.Stdout)
defer stdout.Flush()
sep := []byte(os.Args[1])
i, _ := strconv.Atoi(os.Args[2])
var fields [][]byte
for _, x := range os.Args[3:] {
fields = append(fields, []byte(x))
}
gen.print_col(stdout, fields, len(fields), i, sep)
}
$ cat main/main.sh
#!/usr/bin/env bash
# vim: set noexpandtab tabstop=2:
set -v
go run main.go '|' 2 a b c | catt.sh
У меня есть код выше.
Когда я запускаю main.sh
, я получаю следующую ошибку.Я понятия не имею, что не так.Кто-нибудь может дать мне знать, как решить проблему?Спасибо.
go run main.go '|' 2 a b c
# command-line-arguments
./main.go:20:2: cannot refer to unexported name gen.print_col
./main.go:20:2: undefined: gen.print_col