意外的分号或换行符在 else 之前,即使在 else if 之前都没有

我正在尝试修复我的 golang 代码中的这些错误,如果有人可以帮助我,我将不胜感激。


这是我的代码:http : //play.golang.org/p/yELWfIdWz5


虽然,最让我烦恼的是第 21 行的第一个,其中错误说:语法错误:在 else 之前出现意外的分号或换行符。我根本找不到第 21 行或之前的分号或新行。


另外,第 28 行和第 32 行的错误是什么意思(函数体外的非声明语句)——这些语句在 main() 函数中,最后一个右大括号关闭了该函数,所以为什么那里有错误。


我有一种感觉,所有这些错误都是由于第一个错误造成的。


我非常感谢在解决这些问题或至少了解更多信息方面的任何帮助。


这是代码:


package main


import "fmt"


func main() {

    var current_mid = ""

    current_topic := make(map[string][]string)

    f, err := os.Open(*inputFile)

    if err != nil {

       fmt.Println(err)

        return

    }

    r := bufio.NewReader(f)

    xmlFile, _ := os.Create("freebase.xml")

    line, err := r.ReadString('\n')

    for err == nil{

        subject, predicate, object := parseTriple(line)

        if subject == current_mid{

            current_topic[predicate] = append(current_topic[predicate], object)

        }

        else if len(current_mid) > 0{

            processTopic(current_mid, current_topic, xmlFile)

            current_topic = make(map[string][]string)

        }

        current_mid = subject

        line, err = r.ReadString('\n')

    }

    processTopic(current_mid, current_topic, xmlFile)

    if err != io.EOF {

        fmt.Println(err)

        return

    }

 }


慕后森
浏览 243回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go