प्रौद्योगिकी साझेदारी

[Go - सामान्यः ५ प्रकारः कार्यप्रयोगः] ।

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

नियोग

फंक्शन् पारयतिfunc कीवर्ड परिभाषा, तदनन्तरं फंक्शन् नाम, पैरामीटर् सूची, रिटर्न् प्रकारः च । वाक्यविन्यासः यथा- १.

func functionName(parameters) returnType {
    // 函数体
}
  • 1
  • 2
  • 3

उदाहरण

func add(x int, y int) int {
    return x + y
}

func swap(x, y string) (string, string) {
    return y, x
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

विचरणात्मकं कार्यम्

func sum(nums ...int) int {
    total := 0
    for _, num := range nums {
        total += num
    }
    return total
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

अनामिका कार्य

	s := (func () string {
		return "anonymous-function"
	})()
	fmt.Println(s)
  • 1
  • 2
  • 3
  • 4

**उच्च-क्रमस्य कार्याणि, **पैरामीटर् रूपेण कार्यं कुर्वन्ति तथा च रिटर्न् वैल्यू

फंक्शन्स् पैरामीटर् रूपेण अपि पारयितुं वा रिटर्न् वैल्यू रूपेण अपि पारयितुं शक्यन्ते ।

// 函数作为参数
func compute(fn func(float64, float64) float64) float64 {
    return fn(3, 4)
}

// 函数作为返回值
func getComputeFunc() func(int, int) int  {
   return func(x, y int) int {
       return x + y
   }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

समापनम्


func intSeq() func() int {
    i := 0
    return func() int {
        i++
        return i
    }
}

// 调用
func main() {
    incfunc := intSeq()
    fmt.Println(incfunc())
    fmt.Println(incfunc())
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

निमीलनस्य सारः व्याप्तेः विस्तारः एव ।
यथा, intSeq इत्यस्मिन् i कचरा संगृहीतः भविष्यति यदि अन्यत्र सन्दर्भः न भवति तथापि incfunc इत्यत्र तस्य सन्दर्भः अस्ति इति कारणतः तस्य जीवनचक्रं दीर्घं भवति तथा च तस्य व्याप्तिः विस्तारिता भवति ।