package main
import "fmt"
type Subject interface {
Do() string // 实际业务, 业务系统,检查是否欠费,检查密码是否正确
}
type RealSubject struct {
}
func (sb RealSubject) Do() string {
return "智能执行"
}
type Proxy struct {
real RealSubject
money int
}
func (p Proxy) Do() string {
if p.money > 0 {
return p.real.Do()
} else {
return "请充值"
}
}
func main() {
var sub Subject
sub = &Proxy{money: 0}
fmt.Println(sub.Do())
}
package main
import "fmt"
type Subject interface {
Do() string // 实际业务, 业务系统,检查是否欠费,检查密码是否正确
}
type RealSubject struct {
}
func (sb RealSubject) Do() string {
return "智能执行"
}
type Proxy struct {
real RealSubject
money int
}
func (p Proxy) Do() string {
if p.money > 0 {
return p.real.Do()
} else {
return "请充值"
}
}
func main() {
var sub Subject
sub = &Proxy{money: 0}
fmt.Println(sub.Do())
}
package main import "fmt" type Subject interface { Do() string // 实际业务, 业务系统,检查是否欠费,检查密码是否正确 } type RealSubject struct { } func (sb RealSubject) Do() string { return "智能执行" } type Proxy struct { real RealSubject money int } func (p Proxy) Do() string { if p.money > 0 { return p.real.Do() } else { return "请充值" } } func main() { var sub Subject sub = &Proxy{money: 0} fmt.Println(sub.Do()) }