Function - cruisechang/wiki-golang GitHub Wiki

Function as parameter

Function as return value

(A function returns function which is called factory function)

Closure function

้–‰ๅŒ…ๅ‡ฝๆ•ธๆœƒไฟ็•™ๅ…ถๅค–้ƒจๅ‡ฝๆ•ธ็š„ๅ€ๅŸŸ่ฎŠๆ•ธใ€‚ ็•ถ้‡่ค‡ๅ‘ผๅซๆ™‚๏ผŒ้€™ๅ€‹่ฎŠๆ•ธๆœƒไธ€็›ดไฟ็•™ไฝฟ็”จใ€‚

    package main

    import "fmt"

    func main() {
        var f = Adder()
        fmt.Print(closureTest(1),",")
        fmt.Print(closureTest(10),",")
        fmt.Print(closureTest(100))
    }

    func closureTest() func(int) int {
        var x int
        return func(inner int) int {
            x += inner
            return x
        }
    }
//Result: 1๏ผŒ11๏ผŒ111