Я хочу создать большой проект, поэтому мне нужно создать некую структуру папок. Я довольно новичок в Go, но, как я понимаю, способ сделать это - создать пакеты, верно? Я использую модули Go, я пробовал много разных решений, найденных здесь и в Google, но ни одно из них, похоже, не работает для меня.
Все, что я сейчас хочу, это импортировать экспортированную функцию из файла example.go в main.go
Структура папок выглядит следующим образом:
client
example
---example.go
go.mod
go.sum
main.go
- Я создал файл модуля с go mod init, см. Первый фрагмент кода ниже
- Второй фрагмент кода показывает, как выглядит заголовок main.go
- Третий фрагмент - это пакет с функцией, которую я хочу импортировать
module exampleapp
go 1.12
require (
github.com/gin-gonic/contrib v0.0.0-20190408155029-b5986969cb50
github.com/gin-gonic/gin v1.4.0
)
package main
import (
"net/http"
"exampleapp/example"
)
package example
import (
"net/http"
"github.com/gin-gonic/gin"
)
func GetAllEmployees(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "pong",
})
}
По большей части, когда я пытаюсь добавить пакет в main.go, VSCode автоматически удаляет строку и в основной функции говорит, что GetAllEmployees не определен. Мне удалось перехватить пакет ошибок до того, как пакет будет удален, он говорит -
"imported and not used: "exampleapp/example"
Я ошибаюсь, чтобы использовать "exampleapp / пример" имя модуля exampleapp здесь? Я попытался без exampleapp и "./example/example", но затем я получаю сообщение об ошибке, в котором говорится, что он не может найти модуль для пути.
Помощь будет высоко ценится, так как я застрял в ней довольно долго и не могу понять, чего мне здесь не хватает.