dongyulan6251 2017-08-11 14:56
浏览 190
已采纳

如何修复Golang参数过多错误

i am using following code...

package main

import (
"fmt"
)

type traingle interface {
area() int
}

type details struct {
height int
base   int
}

func (a details) area() int {

s := a.height + a.base
fmt.Println("the area is", s)
return s

}

func main() {
r := details{height: 3, base: 4}
var p1 traingle
p1.area(r)

}

not getting why getting following error

too many arguments in call to p1.area have (details) want ()

i am assuming that p1 object of triangle can call area() method with arguments. not getting why it is failing.

  • 写回答

2条回答 默认 最新

  • drbae3964 2017-08-11 15:02
    关注

    try this:

    package main
    
    import (
        "fmt"
    )
    
    type shape interface {
        area() int
    }
    
    type traingle struct {
        height int
        base   int
    }
    
    func (a traingle) area() int {
        return a.height * a.base / 2    
    }
    
    func main() {
        var p1 shape = traingle{height: 3, base: 4}
        fmt.Println(p1.area())
    }
    

    output:

    6
    

    and see this thread example on shape: https://stackoverflow.com/a/38818437/8208215

    I hope this helps.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 我的数据无法存进链表里
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端