Не понимаю, как правильно импортировать модули. Вот демо накидал:
main.go в корне:
package main
import "./client"
func main() {
client.TestFunc("Test")
}
И ./client/client.go :
package client
import (
"fmt"
"github.com/gorilla/websocket"
)
type Client struct {
Name string
conn *websocket.Conn
}
func TestFunc(name string) {
c := &Client{Name: name}
fmt.Printf("%s", c.Name)
}
Файл go.mod:
module test
go 1.14
require github.com/gorilla/websocket v1.4.2
Запускаю:
go run main.go и получаю ошибку: "
client/client.go:5:2: cannot find package", т.е. он не видит github.com/gorilla/websocket в импортах. Что я делаю не так? Или файл go.mod должен быть для каждого пакета? Я package использую для логического разделения типа неймспейсов, что бы функции к одному "классу" относились. А go.mod думал что будет как менеджер пакетов для всего приложения