go接口

Posted 1a2a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go接口相关的知识,希望对你有一定的参考价值。

package main
impoet (
"fmt"
)

type Employer interface { CalcSalary() float32 } type Programer struct { name string base float32 extra float32 } func NewProgramer(name string,base float32,extra float32) Programer{
return Programer{ name:name, base:base, extra:extra, } } func (p Programer) CalcSalary() float32 { return p.base } type Sale struct { name string base float32 extra float32 } func NewSale(name string,base,extra float32) Sale { return Sale{ name:name, base:base, extra:extra, } } func (p Sale) CalcSalary() float32 { return p.base+p.extra*p.base*0.5 } func calcAll(e []Employer) float32 { var cost float32 for _,v:=range e{ cost=cost+v.CalcSalary() } return cost } func main() { p1 :=NewProgramer("搬砖1",1500.0,0) p2 :=NewProgramer("搬砖1",1500.0,0) p3 :=NewProgramer("搬砖1",1500.0,0) s1 :=NewSale("销售1",800.0,2.5) s2 :=NewSale("销售2",800.0,2.5) s3 :=NewSale("销售3",800.0,2.5) var employlist []Employer employlist=append(employlist,p1) employlist=append(employlist,p2) employlist=append(employlist,p3) employlist=append(employlist,s1) employlist=append(employlist,s2) employlist=append(employlist,s3) cost :=calcAll(employlist) fmt.Printf("这个月的总成本:%f ",cost) }

说明:

第一步:先是定义一个求职者的计算工资的接口

第二步:  定义一个程序员的结构体和生成程序员的函数

第三步:  给这个程序员定义一个计算工资的函数

第四步:  定义一个销售员

第五步:  定义一个求总和的函数






以上是关于go接口的主要内容,如果未能解决你的问题,请参考以下文章

你知道的Go切片扩容机制可能是错的

从父片段到选项卡片段的接口侦听器不起作用

与另一个片段通信的片段接口

golang代码片段(摘抄)

java 代码片段

npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段