为了账号安全,请及时绑定邮箱和手机立即绑定

Go接口的一些示例是什么?

Go接口的一些示例是什么?

Go
慕尼黑8549860 2021-04-15 12:15:51
我找到了一篇有趣的有关Go的博客文章。我试图理解接口的概念,但是我发现很难从博客文章中的代码片段中做到这一点,而从语言规范中几乎是不可能的。谁能在工作程序中指出Go接口的简单示例?
查看完整描述

3 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

这是一个进行中的学习练习,当然不是一个好的风格的好例子,但是您可以在这里(spec)。


另外,作为一个更奇特的示例,我在go-nuts邮件列表上发表了一篇关于使用interface {}来构建可处理匿名数据的功能(在本例中为“三元运算”功能)的文章:


package main

import "fmt";

func Tern(exp bool, a interface{}, b interface{}) (interface{}) {

    if exp { return a }

    return b

}

func main() {

    a := 7; b := 1;

    result := Tern(a > b, a, b);

    fmt.Printf("%d\n", result);

}


查看完整回答
反对 回复 2021-04-26
?
智慧大石

TA贡献1946条经验 获得超3个赞

package main


type Stringer interface {

    String() string

}


type pie int

type pizza string


func (p pie) String() string{

    return "pie"

}


func (p pizza) String() string{

    return "pizza"

}


func main(){

    var a pie

    var b pizza

    fmt.Println(a,b) //fmt.Println() will look for Stringers and call their String() method.

}


查看完整回答
反对 回复 2021-04-26
  • 3 回答
  • 0 关注
  • 217 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信