七叶笔记 » golang编程 » Go语言编程从入门到精通,函数、递归函数、不定长度函数的使用

Go语言编程从入门到精通,函数、递归函数、不定长度函数的使用

Go (或Golang )是Google 在2007 年开发的一种开源编程语言,出自Robert Griesemer 、Rob Pike 和Ken Thompson 之手。2009 年11 月10 日, Google Open Source Blog 向全球发布了这款语言:公告指出Go 的主要目标是“兼具Python 等动态语句的开发速度和C 或C ++等编译型语言的性能与安全性”。

1. 函数

首先来1个例子

1. 声明函数使用关键词 func(必须的)

2. 然后是函数名 functionname,也就是函数名(必须的)。

3. 在括号中输入函数的参数,参数分为2块(参数名和参数类型),多个参数采用逗号分开(非必须)。

4. 返回值(返回值和返回值类型),多个返回值采用括号内加逗号分开(非必须)。

5. 大括号内为函数的主体,如有返回值,则需有return进行返回值,且返回值和所定义的返回值要一致。

下面是一个以求圆的周长和面积的函数演示

2. 定义不定长度参数的函数

先看一个实例

5行:定义了一个result函数,传递参数为不定长度参数,类型为int,返回值是int,查看i的类型,显示为[]int,也就是说通过这个方法,变量i是一个包含所有参数的切片

3. 另外一种返回值的方法

举个例子

5行:在返回值的时候定义了返回值的名字,那么在10行就可以直接return就可以了,而不必再renturn total显式返回相应的变量了

4. 递归函数

递归使得编程更加强大,递归函数通过不断调用自己,当满足特定条件时,才退出。

因此在使用递归时,必须设置退出条件,否则将陷入无限循环。

举1个例子

5行:定义result函数,参数为int类型;

8行:定义了当n>20时,在10行退出,否则向下执行。

12行:当n不大于20时,执行自身函数,将最终的i和n作为参数进行下一步递归执行。

考虑一下,如果没有8行到11行,那么就会形成无限循环。

5. 将函数作为值传递

将函数作为值传递就是将一个函数作为参数传递给其他函数。

举1个例子

6行:定义了1个变量fn,fn的值是函数执行的结果。

7行:函数执行的内容就是打印一行字符串。

9行:调用fn()。值得注意的是,fn不加括号()则是一个func() ,加()才是调用函数。

函数部分暂学习到这里,下面学习比较有缺的控制流程。

相关文章