前言
做开发快二年时间了,但是一般博客发布都在博客园,但是发现简书不能空,所以记录点什么吧,那么就从Golang开始吧。。。。。
Golang函数
//go语言函数和我们大部分语言函数是相同的,但是也有其不同点
//1.定义方法(为什么要用函数,目的的重用代码)
func 函数名(参数列表){
//执行的业务逻辑
fmt.Pringln("hello world")
}
//2.函数的参数(函数参数和js有点相似)
func sum(num1 int,num2 int){
fmt.Println(num1,num2)
}
//3.函数的参数(不定长传参数)
func sum1(args ... int){
//这里的args可以任意名字,其字符的类型是切片,所以可以通过for循环获取每一个值
for i :=0;i<len(args);i++{
args[i]
//
}
//4.函数返回值
fun sum2(num1 int, num2 int) (int,int){
sum := num1 + num2
sub := num1 - num2
return sum,sub
}
//或则你偷懒可以这样做
fun sum2(num1 int, num2 int) (sum int, sub int){
sum := num1 + num2
sub := num1 - num2
}
//注意go语言如果有返回值而你没有定义返回参数的列表则会报错
函数的使用
func main(){
//接收函数的参数,如果返回多个你不想要那么多则可以用下划线忽略
result,_ = sum2(10,9)
}
//5.函数也是一种数据类型因此可以作为参数传递和把值赋给变量
1.赋值给变量,我们这里还是能sum2为公用的函数
func main(){
//这里有个小注意事项,{}必须要留一个和main函数同在一行否则会报错
//1.把函数赋值给变量
test1 := sum
test1(10,9) //这里同样和sum()这种方式调用是一样的
//2.把函数当做参数传递给另外一个函数
func sum3(func (int,int) int,n3 int,n4 int){
//这样执行相当于是用了sum2()方法来执行
func(n3,n4)
}
sum3(sum2,10,9)
}
//6.包的导入
//在一个项目中有成千上万个功能,
//如果都写在main函数中,那可想而知找代码是多么的费力,
//同时多人协作开发也变慢,
//因此我们需要用到导入外部别人写的文件来给我主函数来调用,
//在php中导入另外的一个文件用include或require来实现,go中关键字是import
//1.导入外部文件
import(
"ultia/ultia" //这里路径是从src中开始即配置时候的gopath,最后就是package 包名
)
func main(){
ultia.函数或者变量
}
//7.init函数
//init函数有点类似其它语言的对象中的构造方法
func init(){
fmt.Println(“我是init函数”)// 这个函数会在执行main前执行调用,用来做初始化工作
}
//8.匿名函数所谓匿名函数就是没有名字的函数
funcdemo = func (n1 int,n2 int){
//业务逻辑
}
funcdemo(10,9) //这样就实现了调用匿名函数
//9.闭包函数(累加器)
func AddUp() func (int) int{
n:=10
return func(x int) int{
n = n+ x
return n
}
}
//10.最后就是递归函数了,不多说了,递归就是自己调用自己,
//但是切记要有 一个结束的条件否则就成了死循环了
小结:关于函数其实也挺多的,但是实际的场景把主要的掌握开发是没有问题的了
有疑问加站长微信联系(非本文作者)