函数

函数

代码

//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 @   夏目^_^  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示