七叶笔记 » golang编程 » golang2021函数与包(1)函数

golang2021函数与包(1)函数

我想问一下大家,在大家小时候有没有玩过超级玛丽这个游戏?有同学说玩过,这确实是一款非常经典的游戏。

那么接下来我们模拟一下这个游戏的过程:

通过观察上面的代码,发现很多的代码是重复的,我们在编程中将这些重复的代码称为冗余代码,这种冗余代码带来的问题是,当我们的需求发生了变化后,需要进行多次的修改,这是一件非常痛苦的事情。那么我们应该怎样解决这个问题呢?就是用我们今天讲的函数。

(1.1)什么是函数呢?

函数就是将一堆代码进行重用的一种机制。函数就是一段代码,一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。

  (1.2)函数基本语法

func 函数名(){

  函数体

}

通过func关键字来定义函数,函数名后面必须加括号。

接下来我们用函数改造上面的代码。

 

注意:函数要执行必须调用,调用的方式通过函数名进行调用,但是千万不能忘记括号。以上代码的执行流程是:先执行main()函数,前面我们讲过,main函数是整个程序的入口,所以我们一般将需要调用的函数名称写在main函数中。当执行到PlayGame()时,就会去执行PlayGame()函数体中的代码,该函数体代码执行完毕后,又回到main()函数,继续往下执行,这时执行到WuDi(),就去执行WuDi()函数体中的代码,执行完后又回到main()函数,以此类推,指导将main()函数中的所有代码执行完毕为止。

 

通过上面我们定义的函数,其实我们也能够发现一个规律就是:我们可以在我们的程序中定义多个函数,但是一般都会将相同要求,相同功能的代码放在一个函数中,将另外功能,另外要求的的代码放在另外一个函数中(这样,结构特别清晰,看一下函数名或者注释就知道该函数实现什么功能),也就是基本上每一个函数都是实现单独的功能(例如:求和的函数,就完成求和的功能,不要在改函数中又去完成计算“闰年”,如果要完成计算“闰年”,再定义一个函数。函数的功能一定要单一),这也是定义函数的基本原则。另外,通过上面的案例我们也发现函数确实解决了我们一开始提出的问题,就是当需求发生了变化的时候,修改起来非常方便。例如,当WuDi()函数发生了需求的变化,我们只需要修改该函数就可以,那么调用该函数的地方,都发生了修改,也就是只修改了一次。不像以前,要进行多次的修改。

相关文章