Пишу небольшой сервер для получения адресов микросервисов.
Сервер состоит из нескольких директорий, которые импортируются, а так же основных файлов main.go и server.go
main.go:
package main
import (
"fmt"
)
const (
port = ":7777"
)
func main() {
fmt.Println("Starting Servers")
serve()
}
server.go:
package main
import (
"./data_storage"
pb "./proto"
"./platform"
"./user"
"fmt"
"google.golang.org/grpc"
"log"
"net"
)
func serve() {
lis, err := net.Listen("tcp", port)
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
s := grpc.NewServer()
// ----- User -----
fmt.Println("\nRegistering User Address Server")
pb.RegisterUserStackServer(s, &user.Server{})
// ----- Platform -----
fmt.Println("\nRegistering Platform Address Server")
pb.RegisterPlatformStackServer(s, &platform.Server{})
// ----- DataStorage -----
fmt.Println("\nRegistering DataStorage Address Server")
pb.RegisterDataStorageStackServer(s, &data_storage.Server{})
if err := s.Serve(lis); err != nil {
log.Fatalf("failed to serve: %v", err)
}
}
Суть вопроса:
Согласно принципам работы Golang первой в любом случает запускается функция main() внутри файла main.go. Так вот если я запускаю просто go run main.go или go build main.go, то main() пытается запуститься и дает какой-то вывод.
Но когда я начинаю через go build собирать весь сервер или в надежде увидеть какой-то вывод в виде ошибки запускаю ggo run main.go server.go, на выходе получаю ничего: ни принтов, которые идут самой первой строчке, ни ошибок, все вроде бы запущено, но признаков жизни никаких нет.
В чем может быть проблема? Может, я что-то не понимаю?
Заранее спасибо всем!