您的位置:首页 > 编程语言 > Go语言

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Go