mirror of
https://github.com/tengge1/ShadowEditor.git
synced 2026-01-18 15:02:09 +00:00
44 lines
519 B
Go
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")
|
|
}
|