2020-05-01 09:43:36 +08:00

44 lines
519 B
Go

package main
import (
"fmt"
)
func main() {
var book11 Readable = Book1{}
book11.Read()
var book12 Readable = &Book1{}
book12.Read()
// var book21 Readable = Book2{}
// book21.Read()
var book22 Readable = &Book2{}
book22.Read()
}
// Readable an interface
type Readable interface {
Read()
}
// Book1 book
type Book1 struct{}
func (Book1) Read() {
fmt.Println("foo")
}
// Book2 book
type Book2 struct{}
func (*Book2) Read() {
fmt.Println("bar")
}
// Read method
func Read() {
fmt.Println("bar")
}