Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 将变量传递给结构函数_Go_Struct - Fatal编程技术网

Go 将变量传递给结构函数

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函

如何将数字2传递给乘法函数?会是这样吗

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
}