go语言(三)----函数

1、函数单变量返回

go 复制代码
package main

import "fmt"

func fool(a string,b int) int  {
	fmt.Println("a = ",a)
	fmt.Println("b = ",b)

	c := 100
	return c

}

func main() {

	c := fool("abc",555)
	fmt.Println("c= ",c)

}

2、函数多变量返回

go 复制代码
package main

import "fmt"

func _fool(a string,b int) int  {
	fmt.Println("a = ",a)
	fmt.Println("b = ",b)

	c := 100
	return c

}

//返回多个返回值   匿名的
func foo2(a string,b int) (int, int) {
	fmt.Println("-------foo2--------")
	fmt.Println("a = ",a)
	fmt.Println("b = ",b)
	return 666, 777
}

//返回多个返回值,有形参名称的
func foo3(a string,b int) (r1 int,r2 int) {
	fmt.Println("-------foo3--------")
	fmt.Println("a = ",a)
	fmt.Println("b = ",b)
	//给有名称的返回值变量赋值
	r1 = 1000
	r2 = 2000

	return
}

func main() {

	//c := fool("abc",555)
	//fmt.Println("c= ",c)

	ret1,ret2 :=foo2("haha",999)
	fmt.Println("ret1 = ",ret1,"ret2 = ",ret2)

	ret1,ret2 = foo3("foo3", 333)
	fmt.Println("ret1 = ",ret1,"ret2 = ",ret2)



}

如果返回形参的类型相同,可以下面这么写

go 复制代码
//返回多个返回值,有形参名称的
func foo3(a string,b int) (r1 ,r2 int) {
	fmt.Println("-------foo3--------")
	fmt.Println("a = ",a)
	fmt.Println("b = ",b)
	//给有名称的返回值变量赋值
	r1 = 1000
	r2 = 2000

	return
}

3、init函数与import导包

函数的包被外部调用的时候,首字母要大写

如下所示:

go 复制代码
func LibTest() {
	fmt.Println("libtest()......")
}

4、import导包

1)import _"fmt"

给fmt包起一个别名,匿名,无法使用当面包的方法,但是执行当前包内部的init方法。

2)import aa "fmt"

给fmt包起一个别名,别名就是aa,调用的时候,就是aa.printfln().

  1. import ."fmt"
    将当前fmt包的全部方法,导入到当前本包的作用中,fmt包中的全部方法可以 使用API来调用,不需要fmt.API来调用。
相关推荐
hsg773 小时前
简述:Rust、GeoRust、自主研发GIS平台
开发语言·后端·rust
承渊政道3 小时前
飞算Java炫技赛:Java×Unity数字孪生园区平台的从零落地记录
java·开发语言·unity·技术分享·vibe coding·飞算javaai·飞算java ai炫技赛
wdfk_prog9 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
谭光志11 小时前
Vibe Coding 时代,程序员该何去何从
前端·后端·ai编程
GoGeekBaird11 小时前
我用 BeeWeave 跑完了一次完整写作闭环
后端·github
仿生狮子13 小时前
别再说“全栈”了,AI 时代团队只认这 5 种人
前端·人工智能·后端
许彰午13 小时前
95_Python内存管理与垃圾回收
开发语言·python
多加点辣也没关系13 小时前
JavaScript|第13章:原始类型的方法
开发语言·javascript·ecmascript
এ慕ོ冬℘゜13 小时前
深入理解 JavaScript 事件体系:Window、鼠标与键盘事件详解
开发语言·javascript·okhttp
chouchuang15 小时前
day-030-综合练习-笔记管理器
开发语言·笔记·python