结营总结| 青训营

60 阅读2分钟

时间好快 一下子就结营了 很开心这段时间能在青训营的学习 同时也很幸运认识了很多很厉害的小伙伴 真的很感谢能和青训营想见!!希望大家都会越来越好越来越棒!! 最后一点go语言啦

函数 函数声明 函数一般按照如下格式声明:func name(parameter-list)(result-list) { body }。parameter-list表明函数的参数以及类型,result-list描述函数返回值名字以及类型,函数的返回值不是必须的,但是如果一个函数声明包含返回值,则必须以return语句结尾,除非函数无法运行至结尾。 多返回值 在前面已经了解,Go中函数可以有多个返回值。如果命名了返回值参数,一个没有参数的return语句,会将当前的值作为返回值返回。但如果遇到if等代码块和返回值同名,则需要显式写出返回值。

错误处理 Go语言定义了关于错误处理的标准模式,即error接口。

error的类型可能是nil或non-nil, nil意味着运行成功,non-nil表示失败。 匿名函数和闭包 匿名函数顾名思义,就是不带函数名的函数,在Go语言中,可以随时在代码里定义匿名函数。函数可以像普通变量一样被传递或引用。

闭包和匿名函数不太一样,但是在Go中闭包必须由匿名函数实现。闭包中包含自由变量的代码块,自由变量指的是未绑定到特定对象的变量。同时闭包还包含自由变量当时的环境,即作用域。 Go底层实现闭包的原理:其实是闭包返回的函数指针指向的内存区域是一个结构体,该结构体包含了匿名函数的指针和自由变量的指针。 解决办法就是每次复制变量str然后传到匿名函数中,让闭包的环境变量不相同。