Size: a a a

2020 December 10

AK

Artem Krapivin in Go-go!
Artyom
Понял, спасибо. Да, должно имя пакета отличаться у меня, иначе циклический импорт будет.
для этого всего есть гайдлайны прямо недалеко от https://golang.org/
источник

Z

Zver in Go-go!
Bell Cranell
Наименование интерфейса
Анонимный опрос
0%
IServer
0%
Serverer
0%
GoServer
Проголосовало: 31
Serverererer
источник

Z

Zver in Go-go!
Vladimir Eliseev
Ребят, скажите пожалуйста. Как корректней назвать интерфейс.
1. "netserverer"
2. "serverer"
3. "serve"

Что-то не помню...как правильно называть интерфейсы
Server
источник

Z

Zver in Go-go!
Artyom
Понял, спасибо. Да, должно имя пакета отличаться у меня, иначе циклический импорт будет.
Циклический импорт из тестовых пакетов? 🤔
источник

АД

Алексей Долгов... in Go-go!
Дак  Server же.
- lib
 - interfaces.go(лежит интерфейс Server)
 -neon (директория-package, неоновая реализация)
   -server.go
 -metal (директория-package, метал реализация )
   -server.go


metal.Server, neon.Server реализуют lib.Server
источник

DP

Daniel Podolsky in Go-go!
а зачм тут интерфейс?
источник

A

Artyom in Go-go!
Artem Krapivin
для этого всего есть гайдлайны прямо недалеко от https://golang.org/
Самое интересное, что они всегда есть, но почему-то не сразу находятся.
источник

АД

Алексей Долгов... in Go-go!
Daniel Podolsky
а зачм тут интерфейс?
это о том что интерфейс лучше описывать в месте где он используется?
источник

DP

Daniel Podolsky in Go-go!
ну - тут-то он совсем не нужен
источник

VP

Vlad Python in Go-go!
добрый день, извините что не в тему, ищу архитектора баз данных PostgreSql
источник

A

Artyom in Go-go!
Zver
Циклический импорт из тестовых пакетов? 🤔
Я делал одним пакетом с юнит-тестируемым пакетом. В тестируемом пакете есть метод инициализации этого пакета. Его вызываем в мейне. А я попробовал вызвать его в пакете с тестами и юнитами (сначала сделал в одном пакете). В итоге инициализация требовала метод из этого же пакета, и а общем как-то так. Надеюсь понятно (нет).

Суть. Пакеты с тестами у нас теперь отдельно от пакетов с юнитами.
источник

АД

Алексей Долгов... in Go-go!
Artyom
Я делал одним пакетом с юнит-тестируемым пакетом. В тестируемом пакете есть метод инициализации этого пакета. Его вызываем в мейне. А я попробовал вызвать его в пакете с тестами и юнитами (сначала сделал в одном пакете). В итоге инициализация требовала метод из этого же пакета, и а общем как-то так. Надеюсь понятно (нет).

Суть. Пакеты с тестами у нас теперь отдельно от пакетов с юнитами.
TestMain надо реализовывать для каждого  package - знакомая проблема. но обычно если дергают TestMain то скорее тесты интеграционные а не юнит
источник

Z

Zver in Go-go!
Artyom
Я делал одним пакетом с юнит-тестируемым пакетом. В тестируемом пакете есть метод инициализации этого пакета. Его вызываем в мейне. А я попробовал вызвать его в пакете с тестами и юнитами (сначала сделал в одном пакете). В итоге инициализация требовала метод из этого же пакета, и а общем как-то так. Надеюсь понятно (нет).

Суть. Пакеты с тестами у нас теперь отдельно от пакетов с юнитами.
Ничего не понятно. По идее не должно быть конфликтов или чего-то такого.
источник

Z

Zver in Go-go!
Что-то наверное не так сдално, ИМХО.
источник

АД

Алексей Долгов... in Go-go!
Artyom
Я делал одним пакетом с юнит-тестируемым пакетом. В тестируемом пакете есть метод инициализации этого пакета. Его вызываем в мейне. А я попробовал вызвать его в пакете с тестами и юнитами (сначала сделал в одном пакете). В итоге инициализация требовала метод из этого же пакета, и а общем как-то так. Надеюсь понятно (нет).

Суть. Пакеты с тестами у нас теперь отдельно от пакетов с юнитами.
инициализация тестов в мэйне. очень странно звучит
источник

Z

Zver in Go-go!
И пакет инициализировать это как? Статические данные или у вас глобальная переменная какая?
источник

A

Artyom in Go-go!
Zver
Ничего не понятно. По идее не должно быть конфликтов или чего-то такого.
Окей.

Package: P

P.Init() // инициализирует P, вызываем этот метод в мейне.


Я: вынести логику инициализации из мейна, так как в противном случае ее нельзя будет использовать в пакетах. Вынес в package I

InitProject() {
// ...
P.Init()
// ...
}


Я: пытаюсь сделать такое в пакете P

P.TestMain() {
I.InitProject()
}


Компилятор: cyclic import.
источник

Z

Zver in Go-go!
P.Init() глобальная функция инициализирует пакет?
источник

A

Artyom in Go-go!
Алексей Долгов
TestMain надо реализовывать для каждого  package - знакомая проблема. но обычно если дергают TestMain то скорее тесты интеграционные а не юнит
Да, тут особый случай. Кстати, можно это назвать интеграционными, я думаю.
источник

A

Artyom in Go-go!
Zver
P.Init() глобальная функция инициализирует пакет?
Типа да)
источник