dq804806
2016-01-22 21:25
浏览 9
已采纳

Go语法错误,括号不平衡

When I'm trying to run my app it says that there is an unexpected } in line 32, I have counted { and }, seems they are even but when I remove f1, f2 and p it works well. How can I fix this?

package main

import (
    "fmt"
    "log"
    "net/http"
    "html/template"
)

type friend struct{
    fname   string
}

type person struct{
    username    string
    emails      []string
    friends     []*friend
}

func home(w http.ResponseWriter, r *http.Request){
    f1 := friend{fname: "minux.ma"}
    f2 := friend{fname: "xushiwei"}
    p := Person{
        userName: "Astaxie",
        emails: []string{"astaxie@beego.me", "astaxie@gmail.com"},
        friends: []*Friend{&f1, &f2}
    }

    t, err := template.ParseFiles("template.gtpl")
    if err != nil{
        fmt.Println(err)
    }

    t.Execute(w, nil)
}

func main(){

    http.HandleFunc("/", home)
    err := http.ListenAndServe(":8000", nil)
    if err != nil{
        log.Fatal("listen and serve:", err)
    }
}
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • dongshan9338 2016-01-22 21:28
    最佳回答

    There's an unexpected }, because you're missing a comma on the end of the friends line

    friends: []*Friend{&f1, &f2},
    

    Always go fmt your code. (or use goimports). It will give you an error with the exact line and column:

    missing ',' before newline in composite literal

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题