• Как форсировать использование указателя при параметре-интерфейсе в Go?

    @Kenit
    Если я правильно понял вопрос то это не требуется, так как любой интерфейс по сути уже указатель.
    Ответ написан
    Комментировать
  • Golang. Как поставить внешний пакет на компьютер без интернета?

    @Kenit
    Надо смотреть куда глобальные переменные указывают.
    Если цель в целом заниматься разработкой без интернета я бы скорее завендорил зависимости.
    Ответ написан
    1 комментарий
  • Golang компилятор не видит пакеты, импортированные из локального пакета?

    @Kenit
    Если я правильно понял проблема в том что использовали "go mod init X", так как это существующий проект и его инициализировали по новой. По хорошему очистить кэш модулей и заново всё исправить "go mod tidy" и/или "go get"
    Ответ написан
    Комментировать
  • Как синхронизировать горутины?

    @Kenit
    Каналы в го если упрощённо представить то это очереди. Горутины потоки которые воюют за ресурсы и в целом их порядок выполнения можно считать случайно-параллельным в данном примере. Для выведения чисел по порядку в данном случае я бы добавил синхронизирующий примитив на основе мьютекса, который будет следить за очерёдностью использования канала горутинами.
    Ответ написан
    Комментировать
  • Что выбрать в качестве gui для golang, чтобы не было долгой сборки у приложения?

    @Kenit
    Вопрос очень расплывчатый, вопрос именно в сборке (go run)?
    Я например как gui использую quasar, для моих задач хватает. Это js фреймворк который может и как web и в электрон упаковаться (без особых плясок с бубном), при разработке о сборке можно вообще не думать горячая перезагрузка наше всё. Из js'а по json-rpc вызываем действия в приложении и получаем результаты для отображения.
    Грубо говоря получаем связку js+rpc+go
    Ответ написан
    Комментировать
  • Как поднять сервер на локальном пк на golang?

    @Kenit
    Первый вопрос а есть ли сервер? А точнее что под ним подразумевается?
    На go вполне можно развернуть сервер, либо из стандартной библиотеки либо сторонними библиотеками.
    Судя по тому что я нашёл в гугле, open server это просто красивая обёртка со свистоперделками над nginx/apache сервером и в простейшем случае это получается лишним звеном, так как он будет просто будет помнить запрос и передавать приложению на go.
    Вопрос тогда в целом вопрос сводится к прокидыванию портов и настройке ddns на роутере.
    В общем случае открываем порт из вне, и прокидываем на компьютер где приложение на порт на котором оно работает (порты могут быть разные). Например сайты работают на 80 порте, а приложение слушает порт 3000 тогда надо прокинуть внешний 80 на внутренний 3000 порт.
    С прокидываем портов приложение станет доступно из интернета. У ddns сервисов куча всяких настроек, но условно если возможно настроить его в роутере то так проще, не надо лишнего софта ставить на компьютер.
    Если всё настроено то оно заработает примерно по следующей схеме.
    Пользователь обращается к доменному имени которое выдал сервис ddns сервис знает твой реальный динамический ip и выдаёт его (обновление ip как раз работа ddns), клиент идёт и стучится по выданному ip в 80 порт,фактически он попадает в роутер который перекидывает данные с 80 внешнего порта на 3000 внутренний на котором его слушает приложение. Ну и приложение выдаёт ответ который уходит клиенту.
    Как итог вопрос совсем не относится к go.
    Ответ написан
  • Где ошибка в коде на python?

    @Kenit
    Если я правильно понял то ошибка в том что в pi пустая строка. И ошибка потому что не удаётся преобразовать пустую строку в целочисленное значение.
    А получается такое потому что "break" отменяет выполнение else блока. То есть первый else блок выполняется если мы не получаем значение pi в цикле, а по умолчанию pi = " ".
    Ответ написан
    Комментировать