синтаксическая ошибка: неожиданная новая строка, ожидание запятой или )

# #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)
}