170 похожих чатов

Хммм…. а если я интерфейс держу внутри сервиса. То что

я должен возвращать?

func NewLocker(t string, address string) Locker {
return &conf{
Type: t,
Address: address,
}
}

Не service.Locker же? То есть компонент Locker вообще ничего не должен знать о сервисе который им пользуется.

12 ответов

5 просмотров

структуру локера

интерфейсы не принадлежат пакетам, которые их реализуют. Они принадлежат пакетам, которые их используют

Rostislav Teryaev
интерфейсы не принадлежат пакетам, которые их реал...

это я у себя везде должен описывать io.Writer например или "это другое" ? :)))

Максим-Ильченко Автор вопроса
Rostislav Teryaev
интерфейсы не принадлежат пакетам, которые их реал...

Это я понял. Только я не совсем понял в какой момент и как эта структура должна превращаться в интерфейс.

Andrey S
это я у себя везде должен описывать io.Writer напр...

io.Writer нет, он в стандартной либе. Другие да

Максим Ильченко
Это я понял. Только я не совсем понял в какой моме...

func NewLocker(t string, address string) Locker { return &conf{ Type: t, Address: address, } } у тебя тут возвращается conf в return'е. Тип conf и надо возвращать из функции NewLocker. В интерфейс превращаться он будет в момент передачи в функцию, которая принимает интерфейс

Rostislav Teryaev
io.Writer нет, он в стандартной либе. Другие да

чем стандартная либа отличается от "нестандартной" в принципе?

Максим-Ильченко Автор вопроса
Rostislav Teryaev
func NewLocker(t string, address string) Locker { ...

Cannot use 'locker' (type Conf) as the type Locker Type does not implement 'Locker' as the 'Open' method has a pointer receiver

Максим Ильченко
Cannot use 'locker' (type Conf) as the type Locker...

указатель от conf возьми прежде, чем передавать

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
кто шарит: mattermost отслеживает что ты на пк запускаешь?
Valentin
13
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
5
Карта сайта