관심있는 것들 정리
Golang 연습 5 (duck typing using interface) 본문
실제 타입이 아닌 구현된 메소드만을 이용해 타입을 판단하는 덕타이핑
package main
import (
"fmt"
)
type Duck struct {
}
func (d Duck) quack() {
fmt.Println("Quack~")
}
func (d Duck) feather() {
fmt.Println("Flutter")
}
type Person struct {
}
func (p Person) quack() {
fmt.Println("Says Quack")
}
func (p Person) feather() {
fmt.Println("Swing two arms")
}
type Action interface {
quack()
feather()
}
func handle(a Action) {
a.quack()
a.feather()
}
func main() {
var little Duck
var johnDoe Person
handle(little)
handle(johnDoe)
}
반응형
'programming > Golang' 카테고리의 다른 글
Golang 연습 7 (receive only channel) (0) | 2021.01.26 |
---|---|
Golang 연습 6 (channel close check) (0) | 2021.01.26 |
Golang 연습 4 (slice traversal) (0) | 2021.01.25 |
Golang 연습 3 (99 bottles of beer) (0) | 2021.01.25 |
Golang 연습 2 (goroutine w/ loop) (0) | 2021.01.25 |