go.go
428 Bytes
// RUN: llgo -o %t %s
// RUN: %t 2>&1 | FileCheck %s
// CHECK: hello from T 1
// CHECK-NEXT: hello from T 2
package main
type T struct {
val int
}
func (t T) Hello(done chan bool) {
println("hello from T", t.val)
done <- true
}
type I interface {
Hello(chan bool)
}
func main() {
done := make(chan bool)
t := T{1}
go t.Hello(done)
<-done
var i I = T{2}
go i.Hello(done)
<-done
go println("hello builtin")
}