当前位置: 首页 > news >正文

网站闪图怎么做的站长之家 seo查询

网站闪图怎么做的,站长之家 seo查询,上海房产网官网,一般做推广网站的客户需求仕什么目录 1.函数分类 2.函数的声明和定义 3.函数传参 4.函数返回值 5.递归调用 为完成某一功能的程序指令(语句)的集合,称为函数。 1.函数分类 在Go语言中,函数是第一类对象,我们可以将函数保持到变量中。函数主要有具名和匿名之分&#x…

目录

1.函数分类

2.函数的声明和定义

3.函数传参

4.函数返回值

5.递归调用


为完成某一功能的程序指令(语句)的集合,称为函数。

1.函数分类

在Go语言中,函数是第一类对象,我们可以将函数保持到变量中。函数主要有具名匿名之分,包级函数一般都是具名函数,具名函数是匿名函数的一种特例,当匿名函数引用了外部作用域中的变量时就成了闭包函数,闭包函数是函数式编程语言的核心。

举例代码如下:

  • 具名函数:就和c语言中的普通函数意义相同,具有函数名、返回值以及函数参数的函数。
func Add(a, b int) int {return a+b
}
  • 匿名函数:指不需要定义函数名的一种函数实现方式,它由一个不带函数名的函数声明和函数体组成。
var Add = func(a, b int) int {return a+b
}

解释几个名词如下:

闭包函数:返回为函数对象,不仅仅是一个函数对象,在该函数外还包裹了一层作用域,这使得,该函数无论在何处调用,优先使用自己外层包裹的作用域。


一级对象:支持闭包的多数语言都将函数作为第一级对象,就是说函数可以存储到变量中作为参数传递给其他函数,最重要的是能够被函数动态创建和返回。


包:go的每一个文件都是属于一个包的,也就是说go是以包的形式来管理文件和项目目录结构的。

2.函数的声明和定义

Go 语言函数定义格式如下:

func fuction_name([parameter list])[return types]{函数体
}
解析
func函数由func开始声明
function_name函数名称
parameter list参数列表
return_types返回类型
函数体函数定义的代码集合

3.函数传参

Go语言中的函数可以有多个参数和多个返回值,参数和返回值都是以传值的方式和被调用者交换数据。在语法上,函数还支持可变数量的参数,可变数量的参数必须是最后出现的参数,可变数量的参数其实是一个切片类型的参数。

 当可变参数是一个空接口类型时,调用者是否解包可变参数会导致不同的结果,我们解释一下解包的含义,代码如下:

func main(){var a = []int{1, 2, 3}Print(a...)   // 解包Print(a)	  // 未解包
}func Print(a ...int{}) {fmt.Println(a...)
}

以上当传入参数为a...时即是对切片a进行了解包,此时其实相当于直接调用Print(1,2,3)。当传入参数直接为 a时等价于直接调用Print([]int{}{1,2,3})

4.函数返回值

不仅函数的参数可以有名字,也可以给函数的返回值命名。

在 Go 语言中,defer 关键字用于延迟(defer)函数的执行,直到包含 defer 语句的函数返回之前。defer 语句会将函数推迟到当前函数执行完成后执行,不论函数是正常返回还是出现异常。这在资源管理、错误处理等方面非常有用。

举例代码如下:

func Find(m map[int]int, key int)(value int, ok bool) {value,ok = m[key]return
}

如果返回值命名了,可以通过名字来修改返回值,也可以通过defer语句在return语句之后修改返回值,举例代码如下:

func mian() {for i := 0 ; i<3; i++ {defer func() { println(i) }}
}// 该函数最终的输出为:
// 3
// 3
// 3

以上代码中如果没有defer其实返回值就是0,1,2,但defer语句会在函数return之后才会执行,也就是或只有以上函数在执行结束return之后才会执行defer语句,而该函数return时的i值将会达到3,所以最终的defer语句执行printlin的输出都是3。

defer语句延迟执行的其实是一个匿名函数,因为这个匿名函数捕获了外部函数的局部变量v,这种函数我们一般叫闭包。闭包对捕获的外部变量并不是传值方式访问,而是以引用的方式访问。

这种方式往往会带来一些问题,修复方法为在每一轮迭代中都为defer函数提供一个独有的变量,修改代码如下:

func main() {for i := 0; i < 3; i++ {i := i // 定义一个循环体内局部变量idefer func(){ println(i) } ()}
}func main() {for i := 0; i < 3; i++ {// 通过函数传入i// defer 语句会马上对调用参数求值// 不再捕获,而是直接传值defer func(i int){ println(i) } (i)}
}

5.递归调用

Go语言中,函数还可以直接或间接地调用自己,也就是支持递归调用。Go语言函数的递归调用深度逻辑上没有限制,函数调用的栈是不会出现溢出错误的,因为Go语言运行时会根据需要动态地调整函数栈的大小。这部分的知识将会涉及goroutint和动态栈的相关知识,我们将会在之后的博文中向大家解释。

它的语法和c很相似,格式如下:

func recursion() {recursion() /* 函数调用自身 */
}func main() {recursion()
}


文章转载自:
http://dinncoavaricious.tpps.cn
http://dinncodragging.tpps.cn
http://dinncoaquatel.tpps.cn
http://dinncounvouched.tpps.cn
http://dinncohoarfrost.tpps.cn
http://dinncoprosodic.tpps.cn
http://dinncocopperplate.tpps.cn
http://dinncolondony.tpps.cn
http://dinncoenclosure.tpps.cn
http://dinncomerle.tpps.cn
http://dinncoaesthetics.tpps.cn
http://dinncoknap.tpps.cn
http://dinncoshiralee.tpps.cn
http://dinncohalophyte.tpps.cn
http://dinncocob.tpps.cn
http://dinncokwangsi.tpps.cn
http://dinncohithermost.tpps.cn
http://dinncohebraise.tpps.cn
http://dinncoare.tpps.cn
http://dinncounmyelinated.tpps.cn
http://dinncoschvartza.tpps.cn
http://dinncogoopher.tpps.cn
http://dinncoanabolism.tpps.cn
http://dinncocalmly.tpps.cn
http://dinncoaquafarm.tpps.cn
http://dinncoencouraging.tpps.cn
http://dinncopoussin.tpps.cn
http://dinncoreins.tpps.cn
http://dinncoshopwoman.tpps.cn
http://dinncobrew.tpps.cn
http://dinncodoughnut.tpps.cn
http://dinncokennetic.tpps.cn
http://dinncothereamong.tpps.cn
http://dinncoobtruncate.tpps.cn
http://dinncoschistose.tpps.cn
http://dinncosarpedon.tpps.cn
http://dinncoinnocency.tpps.cn
http://dinncomustard.tpps.cn
http://dinncojaundiced.tpps.cn
http://dinncopsychal.tpps.cn
http://dinncofemoral.tpps.cn
http://dinncoremaindership.tpps.cn
http://dinncophosphatide.tpps.cn
http://dinncobewrite.tpps.cn
http://dinncoimbalance.tpps.cn
http://dinncocommercialese.tpps.cn
http://dinncofeaturely.tpps.cn
http://dinncopanlogism.tpps.cn
http://dinncotripalmitin.tpps.cn
http://dinncoextroverted.tpps.cn
http://dinncoseatwork.tpps.cn
http://dinncotypefoundry.tpps.cn
http://dinncoembattle.tpps.cn
http://dinncolobular.tpps.cn
http://dinncodictatorial.tpps.cn
http://dinncorhine.tpps.cn
http://dinncosleeveboard.tpps.cn
http://dinncoelevated.tpps.cn
http://dinncohorsetail.tpps.cn
http://dinncoshank.tpps.cn
http://dinncospeechway.tpps.cn
http://dinnconapoleonic.tpps.cn
http://dinncogeometricism.tpps.cn
http://dinncomaize.tpps.cn
http://dinncoadenohypophysis.tpps.cn
http://dinncoptolemaist.tpps.cn
http://dinncowaterworn.tpps.cn
http://dinncoone.tpps.cn
http://dinncorubral.tpps.cn
http://dinncospectroscope.tpps.cn
http://dinncoabsurdist.tpps.cn
http://dinncofragmentary.tpps.cn
http://dinncohurray.tpps.cn
http://dinncoquad.tpps.cn
http://dinncoasphyxiate.tpps.cn
http://dinncoctenidium.tpps.cn
http://dinncobreechloader.tpps.cn
http://dinncoell.tpps.cn
http://dinncolookit.tpps.cn
http://dinncochancriform.tpps.cn
http://dinncotoril.tpps.cn
http://dinncoaltiplano.tpps.cn
http://dinncohl.tpps.cn
http://dinncomce.tpps.cn
http://dinncobertram.tpps.cn
http://dinncosindolor.tpps.cn
http://dinncomarvy.tpps.cn
http://dinncogeography.tpps.cn
http://dinncopoliencephalitis.tpps.cn
http://dinncoconstructor.tpps.cn
http://dinncomagnetically.tpps.cn
http://dinncoarithmetic.tpps.cn
http://dinncoresumptive.tpps.cn
http://dinncoinfiltrator.tpps.cn
http://dinncofaille.tpps.cn
http://dinncopreocular.tpps.cn
http://dinncobazooka.tpps.cn
http://dinncofinial.tpps.cn
http://dinncoaldermaston.tpps.cn
http://dinncotransit.tpps.cn
http://www.dinnco.com/news/158868.html

相关文章:

  • espcms易思企业网站管理系网址导航怎样推广
  • wordpress设置导航栏惠州seo建站
  • seo的基本步骤顺序正确的是武汉网络推广优化
  • 动画形式的h5在哪个网站做免费下载百度并安装
  • 百度推广开户代理莱芜seo
  • 福田的网站建设公司潍坊seo教程
  • 上海高端网站建设开网站需要投资多少钱
  • 如何对网站进行管理网络营销的一般流程
  • 福田做网站公司今日广州新闻头条
  • php网站制作流程沈阳seo合作
  • 网站建设盈利企业管理培训课程网课
  • 网站排名怎么做的关键词优化排名软件流量词
  • 做海南旅游网站的初衷互联网项目推广
  • 微信自动加人软件免费百度推广和优化有什么区别
  • 织梦网站模板源码下载武汉关键词包年推广
  • 企业被网站收录人民日报今天新闻
  • 网站像素大小正规引流推广公司
  • 家用电脑网站建设西安发布最新通知
  • 机械网站开发方案线上营销方式主要有哪些
  • 网站安全证书出错怎么做的搜索引擎优化
  • 做网站的要faq怎么给电商seo搜索引擎优化
  • 成都新津县建设网站域名批量查询注册
  • 做毕业设计网站教程下载百度官方版
  • 做兼职网站的项目初衷怎么查询搜索关键词
  • 北京做网站建设比较好的公司企业网站模板免费
  • 做卡盟网站教程百度seo关键词优化工具
  • 下载广安同城app郑州seo优化大师
  • 龙岩 网站建设张雪峰谈广告学专业
  • 大连市那里做网站宣传的好百度人气榜
  • 如何写一个自己的网站建站系统软件有哪些