べすとえふぉーと

プログラミング等のノート 

Go 使い方メモ インタフェース

package main

import "fmt"

type Calc interface {
    Calc(x int, y int) int
}

type Add struct {

}

func (r Add) Calc(x int, y int) int{
    return x + y
}

type Sub struct {

}

func (r Sub) Calc(x int, y int) int{
    return x - y
}

func main() {
    var add Add
    var sub Sub

    var cal Calc

    cal = add
    fmt.Println("plus:",cal.Calc(1,2))

    cal = sub
    fmt.Println("minus:",cal.Calc(4,3))

}