Go 将变量传递给结构函数
如何将数字2传递给乘法函数?会是这样吗Go 将变量传递给结构函数,go,struct,Go,Struct,如何将数字2传递给乘法函数?会是这样吗 type MultiplyStruct struct { Number1 int } func (m MultiplyStruct) Multiply() int { return m.Number1 * number2 } 我想这就是你想要的: var multiplier = MultiplyStruct(10) multiplier.Multiply(20) 这只是对正确答案的有趣补充。您可以创建一个curried函
type MultiplyStruct struct {
Number1 int
}
func (m MultiplyStruct) Multiply() int {
return m.Number1 * number2
}
我想这就是你想要的:
var multiplier = MultiplyStruct(10)
multiplier.Multiply(20)
这只是对正确答案的有趣补充。您可以创建一个curried函数,而无需使用结构仅存储整数:
package main
import (
"fmt"
)
type MultiplyStruct struct {
Number1 int
}
func (m MultiplyStruct) Multiply(number2 int) int {
return m.Number1 * number2
}
func main() {
multipler := MultiplyStruct{Number1: 10}
val := multipler.Multiply(20)
fmt.Println(val)
}
func Multiply(number1 int) (func(int) int) {
return func(number2 int) int {
return number1 * number2
}
}
func main() {
timesTen := Multiply(10)
fmt.Println(timesTen(20)) // => 200
timesTwo := Multiply(2)
fmt.Println(timesTwo(10)) // => 20
fmt.Println(Multiply(2)(3)) // => 6
}