Size: a a a

2020 May 19

RS

Roman Sharkov in Go-go!
Aleksandr Razumov
Аудио, который создаёт инстансы своих аудио потоков, да
тогда это не Streamer, это StreamProvider 🙂
источник

AR

Aleksandr Razumov in Go-go!
Откуда вообще эта модель с акторами, потребителями и т.д. взялась? Где она формально описано применительно к го? Где сказано, что это идеоматически?
источник

а

а кто это in Go-go!
Roman Sharkov
тогда это не Streamer, это StreamProvider 🙂
звучит джава
источник

RS

Roman Sharkov in Go-go!
Aleksandr Razumov
Откуда вообще эта модель с акторами, потребителями и т.д. взялась? Где она формально описано применительно к го? Где сказано, что это идеоматически?
у интерфейса есть поля? нет. Этим всё сказано 🙂
интерфейс это диспетчер вызова методов, техническим языком выражаясь. Интерфейс не сущность.
источник

AR

Aleksandr Razumov in Go-go!
Roman Sharkov
у интерфейса есть поля? нет. Этим всё сказано 🙂
интерфейс это диспетчер вызова методов, техническим языком выражаясь. Интерфейс не сущность.
Интерфейс это набор методов
источник

RS

Roman Sharkov in Go-go!
Aleksandr Razumov
Интерфейс это набор методов
верно
источник

AR

Aleksandr Razumov in Go-go!
define сущность
источник

IS

Ilya Shikhaleev in Go-go!
А как же доступ к данным на нижестоящем уровне?)
источник

AK

Anton Kucherov in Go-go!
Aleksandr Razumov
Вот в "the go programming language", например
Я бы вообще сказал: "Аудиофайл который предоставляет интерфейс потокового чтения". Очень лаконично я считаю. И да, можно было бы назвать AudioFile, но там из методов очевидно и из комментариев. Но там никакой не аудиопоток
источник

AR

Aleksandr Razumov in Go-go!
Да не обязательно это File, это может быть удалённый поток
источник

а

а кто это in Go-go!
Anton Kucherov
Я бы вообще сказал: "Аудиофайл который предоставляет интерфейс потокового чтения". Очень лаконично я считаю. И да, можно было бы назвать AudioFile, но там из методов очевидно и из комментариев. Но там никакой не аудиопоток
а если это поток в реальном времени
источник

RS

Roman Sharkov in Go-go!
Aleksandr Razumov
define сущность
type AudioFile struct {
 Path     string
 Format   string
 Record   []byte
 Metadata map[string]string
}
источник

AR

Aleksandr Razumov in Go-go!
Roman Sharkov
type AudioFile struct {
 Path     string
 Format   string
 Record   []byte
 Metadata map[string]string
}
не настолько буквально :D
источник

а

а кто это in Go-go!
Roman Sharkov
type AudioFile struct {
 Path     string
 Format   string
 Record   []byte
 Metadata map[string]string
}
ну вот вместо поля можно сделать геттер
источник

AK

Anton Kucherov in Go-go!
Roman Sharkov
type AudioFile struct {
 Path     string
 Format   string
 Record   []byte
 Metadata map[string]string
}
Тоже имеет место быть, а потом вы создадите другую сущность которая будет этими данными оперировать. И это просто процедурное программирование. И это не хорошо и не плохо, просто Если всегда следовать этому стилю, у вас получится код на Go в стиле C, что так же плохо как код на Go в стиле Java
источник

RS

Roman Sharkov in Go-go!
а кто это
ну вот вместо поля можно сделать геттер
Getter это функция чтения, это не данные 🙃 не путайте
источник

IS

Ilya Shikhaleev in Go-go!
Тут тогда проблема языка - вы не можете запретить изменение данных поля без интерфейса для доступа к данным агрегатов :)
источник

AR

Aleksandr Razumov in Go-go!
А переменная с типом "io.Reader" это сущность или нет?
источник

IS

Ilya Shikhaleev in Go-go!
А значит либо интерфейс из геттеров либо соглашение между разработчиками и структуры
источник

RS

Roman Sharkov in Go-go!
Aleksandr Razumov
не настолько буквально :D
сущность это данные, описывающий некий объект.
поэтому интерфейс априори не сущность, у него нет данных, у него есть лишь ссылка на объект и идентификатор типа, к которому диспетчить вызовы
источник