函数

函数

代码

//example.go
package test

import "fmt"

/*这里可以简写
func getSum(n1,n2 int) int {
	...
}
*/
//可以有多个返回值
func getRes(n1 int, n2 int) (int, int) {
	sum := n1 + n2
	difference := n1 - n2
	return sum, difference
}

/*这里可以简写
func getSum(n1,n2 int) (sum, difference int) {
	...
}
*/
//go的函数支持给返回值命名
func getRes1(n1 int, n2 int) (sum int, difference int) {
	sum = n1 + n2
	difference = n1 - n2
	//此时return sum,difference可以直接简写为return
	return
}

func Function() {
	res1, res2 := getRes1(2, 3)
	fmt.Println("res1=", res1, "res2=", res2)
}

func Function1() {
	/*
		注意:函数不是变量,但是它实际存在于内存中。
		函数名的本质是一个指针常量。该指针保存其函数所在的内存地址
		函数名 != 调用该函数
		函数名() == 调用该函数
	*/
	fmt.Printf("%v,%T\n", getRes, getRes) //0xb05200,func(int, int) (int, int)

	//匿名函数
	var outPut = func() {
		fmt.Println("output")
	}
	outPut()
    //立即调用的匿名函数
	res1 := func(n1 int) (sum int) {
		return n1
	}(1)
	fmt.Println(res1)
}
//main.go
package main

import (
	"GoExample/test"
)

func main() {
    //test.Function()
	test.Function1()
}
	本博客参考自:
		https://www.bilibili.com/video/BV1s341147US/?spm_id_from=333.337.search-card.all.click&vd_source=a642bb3ddc5b706845426dc41d73fbda
posted @ 2023-10-01 19:57  夏目^_^  阅读(18)  评论(0)    收藏  举报