Наткнулся я на
эту статью на хабре, где идет речь о интерфейсах, и захотел воспроизвести один из примеров со статьи который находится в разделе "Как перестать абьюзить интерфейсы и начать жить".
Вот мой код:
package main
import (
"fmt"
)
type (
MyInt int
MyString string
)
type Printerer interface {
Pr()
}
func (mi MyInt) Pr() {
fmt.Println("I have MyInt INT: ", mi)
}
func (ms MyString) Pr() {
fmt.Println("I have MyString STRING: ", ms)
}
func Display(ch chan Printerer) {
for v := range ch {
v.Pr()
}
}
func send(ch chan Printerer) {
ch <- 0
ch <- "test"
}
func main() {
ch := make(chan Printerer)
go send(ch)
go Display(ch)
var i string
fmt.Scan(&i)
}
Проблема в том что я не могу отправлять какие либо данные в канал потому что он типа
Printerer, но в стаье не было полного примера кода чтобы понять в чём проблема.