Страницы

Поиск по вопросам

понедельник, 13 мая 2019 г.

“cannot refer to unexported name” при вызове функции из пакета

Есть главный файл:
package main
import ( "net/http" "./extensions" )
func main() {
router := mux.NewRouter() s := http.StripPrefix("/static/", http.FileServer(http.Dir("./files/"))) router.HandleFunc("/", handlers.Index) router.PathPrefix("/static/").Handler(s) http.Handle("/", router)
handlers.sayYess() http.ListenAndServe(":5000", nil) }
И файл handlers.go
package handlers
import ( "log" )
func sayYess() { log.Println("yess") } func Index(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "hello") }
Функция sayYess() не вызывается - пишет:
cannot refer to unexported name handlers.makeCache
и
undefined: handlers.makeCache
Почему другие функции пакета работают, а эта - нет?


Ответ

Разобрался. Как ни странно, первая буква должна быть большой:
func SayYess() { log.Println("yess") }

Комментариев нет:

Отправить комментарий