问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

GO语言学习系列八——GO函数(func)的声明与使用

发布网友 发布时间:2022-09-15 17:50

我来回答

1个回答

热心网友 时间:2023-10-09 14:47

GO是编译性语言,所以函数的顺序是无关紧要的,为了方便阅读,建议入口函数 main 写在最前面,其余函数按照功能需要进行排列
GO的函数不支持嵌套,重载和默认参数
GO的函数支持 无需声明变量,可变长度,多返回值,匿名,闭包等
GO的函数用 func 来声明,且左大括号 { 不能另起一行
一个简单的示例:

输出为:

参数:可以传0个或多个值来供自己用
返回:通过用 return 来进行返回

输出为:

上面就是一个典型的多参数传递与多返回值
对例子的说明:

按值传递:是对某个变量进行复制,不能更改原变量的值
引用传递:相当于按指针传递,可以同时改变原来的值,并且消耗的内存会更少,只有4或8个字节的消耗

在上例中,返回值 (d int, e int, f int) { 是进行了命名,如果不想命名可以写成 (int,int,int){ ,返回的结果都是一样的,但要注意:

当返回了多个值,我们某些变量不想要,或实际用不到,我们可以使用 _ 来补位,例如上例的返回我们可以写成 d,_,f := test(a,b,c) ,我们不想要中间的返回值,可以以这种形式来舍弃掉

在参数后面以 变量 ... type 这种形式的,我们就要以判断出这是一个可变长度的参数

输出为:

在上例中, strs ...string 中, strs 的实际值是b,c,d,e,这就是一个最简单的传递可变长度的参数的例子,更多一些演变的形式,都非常类似

在GO中 defer 关键字非常重要,相当于面相对像中的析构函数,也就是在某个函数执行完成后,GO会自动这个;
如果在多层循环中函数里,都定义了 defer ,那么它的执行顺序是先进后出;
当某个函数出现严重错误时, defer 也会被调用

输出为

这是一个最简单的测试了,当然还有更复杂的调用,比如调试程序时,判断是哪个函数出了问题,完全可以根据 defer 打印出来的内容来进行判断,非常快速,这种留给你们去实现

一个函数在函数体内自己调用自己我们称之为递归函数,在做递归调用时,经常会将内存给占满,这是非常要注意的,常用的比如,快速排序就是用的递归调用

本篇重点介绍了GO函数(func)的声明与使用,下一篇将介绍GO的结构 struct

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
目标存储区域宽度限制为5.3米 左边是仓库那么它的宽度为多少是少内墙... 边缘计算方案哪家服务比较好? 台式电脑随身携带上飞机坐飞机可不可以带台式电脑电脑显示屏能随带... 武穴市小桥中学学校实力 谁会关于学校的新闻的作文,50~80字... 急问,这段话是在简爱中的第几章? 求下列两句句子翻译成英文1.天不怕地不怕就怕老师上门来告状 2.美好... 如何拆卸电脑主板 主板怎么拆下来(如何拆主板先拆什么后拆什么) 电脑主板怎样拆下来 Go语言。 怎样读取一行几个数字。 Python爬虫(七)数据处理方法之JSON iqoo neo5怎么导入主题 洱海自助游攻略 很久没登录被封号 如何才能解封? 鱼缸不打孔怎样改底虑 鱼缸底部过滤器必须得打孔吗 淘宝上不打孔的怎么样,占空间吗? 鱼缸不用打孔可以做底滤吗 梦见银元 125509是什么号码 高一物理题2道[关于加速度],急,好的追分 保定易县旅游景点大全 训练力量的力量型健身器材有哪些? 戒指戴在无名指表示什么 山药过了四月还长吗 溶血型黄胆 《龙神之主》txt下载在线阅读全文,求百度网盘云资源 长虹电视机开机后显示屏不亮是什么原因? 电视机显示屏中间有一道黑屏线 电视机显示屏亮几秒就黑屏无法调亮度 怎么微信摇一摇没有打招呼的功能了? 为什么在微信上摇一摇从来没人打招呼 蓝牙音箱哪个品牌好呢 九年级历史复习教案 荞麦芽栽培的荞麦芽栽培 如何鉴定皮肤属于什么肤质 如何判断自己是何类型的皮肤 萁菜有什么营养 西安新卓泰商贸有限公司怎么样? 求蝙蝠侠:黑暗骑士崛起2012年网盘在线观看资源,克里斯蒂安·贝尔主演的 海山来怎么吃? 什么敏捷分析 什么是大数据敏捷分析? 分析下三国争霸中第一敏捷、力量、智力英雄 废弃物处置制度 急需品尚品的菜单 抖音消息能不能看到已读 多伦多有空港和海港吗 如题 一世黑道txt全集下载 有一部小说女主是林轻音叫什么名字