diff --git a/posseg/posseg.go b/posseg/posseg.go index 18c178c..84456b4 100644 --- a/posseg/posseg.go +++ b/posseg/posseg.go @@ -27,7 +27,10 @@ func init() { _, filename, _, _ := runtime.Caller(1) dict_dir := filepath.Dir(filepath.Dir(filename)) dict_path := filepath.Join(dict_dir, jiebago.Dictionary) - load_model(dict_path) + err := load_model(dict_path) + if err != nil { + panic(err) + } } func load_model(f_name string) error { @@ -37,16 +40,16 @@ func load_model(f_name string) error { } defer file.Close() - reader := bufio.NewReader(file) - for { - line, readError := reader.ReadString('\n') - if readError != nil && len(line) == 0 { - break - } + scanner := bufio.NewScanner(file) + for scanner.Scan() { + line := scanner.Text() words := strings.Split(strings.TrimSpace(line), " ") word, tag := words[0], words[2] WordTagTab[word] = tag } + if err := scanner.Err(); err != nil { + return err + } return nil }