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

GO语言学习-方法和接口

2014-12-16 10:59 1116 查看
方法:

指包含了接受者的函数,接受者可以是命名类型或者结构体类型的一个值或者是一个指针。

例:

type Food struct{

color string

taste string

}

func ( fruit Food) Eat() string

{

return fmt.Sprintf("%v,%v)", fruit.color, fruit.taset)

}

Food为结构体类型,Eat为Food类型的方法, Eat方法的接受者是Food类型的值(或指针 func ( fruit * Food) Eat() string)

apple := Food{"red", "sweet"}



apple := &Food{"red", "sweet"}

方法使用

apple.Eat()

接口:

接口是一种类型,指定了一个方法集,所有方法为接口类型就被认为是该接口。

个人的理解接口是定义了一种功能,而方法是实现这种功能的方法。而不同的接受者有不同的方法来实现这个功能。

例:

type judge inerface{

Eat() Food

}

定义了一个judge的接口,并包含了一个Eat()的方法

例程

package main

import (

"fmt"

)

type Food struct{

color string

taste string

}

type judge interface{

Eat()string

}

func ( fruit *Food) Eat() string{

return fmt.Sprintf("%v,%v",fruit.color,fruit.taste)

}

type FoodTaste struct{

taste string

}

func ( fruit *FoodTaste) Eat() string{

return fmt.Sprintf("%v",fruit.taste)

}

func main() {

var a judge

apple := Food{"red", "sweet"}

lemon := FoodTaste{"sour"}

a = &apple

fmt.Println(a.Eat())

a = &lemon

fmt.Println(a.Eat())

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