go-3.go 236 B

123456789101112131415
  1. package main
  2. type I interface { send(chan <- int) }
  3. type S struct { v int }
  4. func (p *S) send(c chan <- int) { c <- p.v }
  5. func main() {
  6. s := S{0};
  7. var i I = &s;
  8. c := make(chan int);
  9. go i.send(c);
  10. if <- c != 0 { panic(0) }
  11. }