Files
the-way-to-go_ZH_CN/eBook/examples/chapter_16/pointer_interface.go

31 lines
447 B
Go

// nexter.go
package main
import (
"fmt"
)
type nexter interface {
next() byte
}
func nextFew1(n nexter, num int) []byte {
var b []byte
for i := 0; i < num; i++ {
b[i] = n.next()
}
return b
}
func nextFew2(n *nexter, num int) []byte {
var b []byte
for i := 0; i < num; i++ {
b[i] = n.next() // compile error: n.next undefined (type *nexter has no field or method next)
}
return b
}
func main() {
fmt.Println("Hello World!")
}