GAE Go, init () - вызывать его несколько раз?

Я пишу приложение Google App Engine Go. В нем я хочу обрабатывать некоторые вызовы отдельно в разных файлах .go. Должен ли я вызывать функцию «init ()» отдельно в каждом из этих файлов или просто объявлять ее в одном файле и вызывать некоторые другие функции для инициализации каждого файла .go?

Например, если бы у меня было два файла, user.go:

package User

import(
    "http"
    "fmt"
)

func init() {
    http.HandleFunc("/", hello)
}

func hello(w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, "Hello, user!")
}

И admin.go:

package Admin

import(
    "http"
    "fmt"
)

func init() {
    http.HandleFunc("/admin/", hello)
}

func hello(w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, "Hello, admin!")
}

Правильна ли такая инициализация или не рекомендуется делать что-то подобное?

5
задан ThePiachu 30 January 2012 в 03:50
поделиться