学习笔记之值得特别关注的基础语法有哪些
函数的基础语法和高级特性
下面以最基本四则运算为例,贯穿全文讲解函数的基本语法和高级特性,力求做到知其然知其所以然.
func 定义普通函数
eval 函数定义了加减乘除基本运算规则,若不支持操作类型则抛出异常...类型化函数可以实现接口
函数通过别名形式进行类型化后可以实现接口,某些程度上可以视为一种类型,因此实现接口也是顺理成章的事情.
func (g generateIntFunc) String() string...{
r,_ := g()
return fmt.Sprint(r)
}
> 此处示例代码中为类型化函数 generateIntFunc 实现 String 接口方法,可能并没有太大实际意义...水到渠成的闭包
函数的参数,返回值都可以是另外的函数,函数也可以作为引用那样传递给变量,也存在匿名函数等简化形式,除此之外,类型化后的函数还可以用来实现接口等等特性应该足以阐释一等公民的高贵身份地位了吧...这就是 Go 语言实现闭包的一种简单示例,fibonacci 函数本身的变量 a,b 被内部匿名函数 func() int 所引用,而这种引用最终被使用者不断调用就会导致最初的 a,b 变量一直被占用着