# #go
Вопрос:
Я получаю синтаксическую ошибку ошибки: неожиданная новая строка, ожидание запятой или ). я новичок в голанге. я пытаюсь использовать новый код, но та же ошибка. кто-нибудь может мне помочь?. мой код
package main
import "fmt"
import "net/http"
import "html/template"
import "path"
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
var filepath = path.Join("index.html")
var tmpl, err = template.ParseFiles(filepath)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
http.HandleFunc("/membuat-web-dengan-golang", func(w http.ResponseWriter, r *http.Request) {
var filepath = path.Join("membuat-web-dengan-golang.html")
var tmpl, err = template.ParseFiles(filepath)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("assets"))))
fmt.Println("server started at localhost:9000")
http.ListenAndServe(":9000", nil)
}
Комментарии:
1. Вам не хватает закрытия
}
для анонимных функций и закрытия») » для вызовов http. HandleFunc. Добавьте})
в строках 15 и 23. Смотрите исправление здесь . Кроме того, вы должны добавить код для использования проанализированных шаблонов.
Ответ №1:
Привет, в ваших функциях HandleFunc отсутствуют закрывающие скобки. Проверьте fmt.Строка Println(tmpl), которую я добавил в ваш код. Первая закрывающая фигурная скобка }
предназначена для анонимной функции, а вторая круглая скобка )
предназначена для функции HandleFunc.
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
var filepath = path.Join("index.html")
var tmpl, err = template.ParseFiles(filepath)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
fmt.Println(tmpl)})
http.HandleFunc("/membuat-web-dengan-golang", func(w http.ResponseWriter, r *http.Request) {
var filepath = path.Join("membuat-web-dengan-golang.html")
var tmpl, err = template.ParseFiles(filepath)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
fmt.Println(tmpl)})
http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("assets"))))
fmt.Println("server started at localhost:9000")
http.ListenAndServe(":9000", nil)
}