Go语言接口例子
2018-01-17 15:11
926 查看
编写了一个实用Go接口的例子
package main
import (
"fmt"
)
func main (){
var ming People
ming = &Chinese{Name : "ming", Energy : 10}
ming.Eat(5)
ming.Sleep(3)
ming.Work(8)
}
type People interface {
Sleep(e int) bool
Eat(e int) bool
Work(e int) bool
}
type Chinese struct{
Name string
Energy int
}
func (s *Chinese) Sleep(e int) bool {
s.Energy = s.Energy + e
fmt.Printf("Chinese %s Sleep, Energy = %d\r\n", s.Name, s.Energy)
return true
}
func (s *Chinese) Eat(e int) bool {
s.Energy = s.Energy + e
fmt.Printf("Chinese %s Eat, Energy = %d\r\n", s.Name, s.Energy)
return true
}
func (s *Chinese) Work(e int) bool {
if s.Energy > e {
s.Energy = s.Energy - e
fmt.Printf("Chinese %s Work, Energy = %d\r\n", s.Name, s.Energy)
return true
}
fmt.Printf("Chinese %s can not Work, Energy = %d\r\n", s.Name, s.Energy)
return false
}
package main
import (
"fmt"
)
func main (){
var ming People
ming = &Chinese{Name : "ming", Energy : 10}
ming.Eat(5)
ming.Sleep(3)
ming.Work(8)
}
type People interface {
Sleep(e int) bool
Eat(e int) bool
Work(e int) bool
}
type Chinese struct{
Name string
Energy int
}
func (s *Chinese) Sleep(e int) bool {
s.Energy = s.Energy + e
fmt.Printf("Chinese %s Sleep, Energy = %d\r\n", s.Name, s.Energy)
return true
}
func (s *Chinese) Eat(e int) bool {
s.Energy = s.Energy + e
fmt.Printf("Chinese %s Eat, Energy = %d\r\n", s.Name, s.Energy)
return true
}
func (s *Chinese) Work(e int) bool {
if s.Energy > e {
s.Energy = s.Energy - e
fmt.Printf("Chinese %s Work, Energy = %d\r\n", s.Name, s.Energy)
return true
}
fmt.Printf("Chinese %s can not Work, Energy = %d\r\n", s.Name, s.Energy)
return false
}
相关文章推荐
- 一个Go语言接口和多操作系统实现的简单例子
- 一个Go语言接口和多操作系统实现的简单例子
- Go语言闭包的小例子
- Go语言_接口赋值
- Go语言使用Protocol Buffer的小例子
- go语言学习笔记-接口学习
- Go语言中接口组合(接口中包含接口)
- go语言多态接口样例
- Go语言中接口的定义与实现
- go语言之行--接口(interface)、反射(reflect)详解
- Go 语言中的方法,接口和嵌入类型
- Go语言的继承范例和重写范例还有接口范例
- go语言[7] 函数,方法和接口
- Go语言接口interface
- Go语言入门——从一个简单例子入门
- Go语言接口
- go语言 strconv.ParseInt 的例子
- 学习go语言编程中 revel 框架的一个好例子
- 神奇的GO语言:空接口(interface)
- Go语言学习笔记(六)-方法和接口