登录
首页 >  Golang >  Go问答

调用没有类型的类型函数

来源:stackoverflow

时间:2024-04-20 13:00:33 491浏览 收藏

今天golang学习网给大家带来了《调用没有类型的类型函数》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

我创建了某种类型的函数。一旦我做到了,我就可以按照预期的方式调用它,当我想调用它而不声明函数类型的变量时,问题就来了。

这是一个可以澄清一切的示例:

type MyStruct struct{
   number1  int
   number2  int
}

func (input *MyStruct) declareValues(val1 int, val2 int){
   input.number1 = val1
   input.number2 = val2
}

func (input MyStruct) add() int{
   return number1 + number2
}

var declared MyStruct
declared.declareValues(2,3)
fmt.Println(declared.add())   // Should return 5

fmt.Println(¿MyStruct?.add()) // If works, should return 0

重点是,如果我想用更复杂的方法来做到这一点,并且如果结构的字段是默认字段,它应该给我一个答案(所以我不必声明变量,我可以使用声明的类型调用它),如果字段更改则返回另一个值。 我必须这样做,因为我不想声明一个变量来调用该方法。


正确答案


您可以执行 MyStruct{}.add(),在 playground 上尝试一下。这仍然会分配该方法接收器的实例,但至少您不必将其存储在单独的变量中。

好了,本文到此结束,带大家了解了《调用没有类型的类型函数》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>