Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- type Duck interface{}
- type WildDuck struct{}
- func NewWildDuck(duckType string) *WildDuck {
- if duckType != "wild" {
- return nil
- }
- return &WildDuck{}
- }
- func NewDuck(duckType string) Duck {
- var duck Duck
- duck = NewWildDuck(duckType)
- if duck == nil {
- panic("Bad duck type!")
- }
- return duck
- }
- func main() {
- NewDuck("wild")
- NewDuck("domestic")
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement