Страницы

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

четверг, 13 февраля 2020 г.

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

#golang


Есть главный файл:

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 


Почему другие функции пакета работают, а эта - нет?
    


Ответы

Ответ 1



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

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

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