前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go语言核心编程(2)——函数

Go语言核心编程(2)——函数

作者头像
羊羽shine
发布2019-05-29 18:38:54
7560
发布2019-05-29 18:38:54
举报
文章被收录于专栏:Golang开发

注:本文是《Go语言核心编程》(李文塔/著)个人读书笔记

函数定义

首字母大小写决定函数在其他包的可见性,大写时其他包可见,小写时只有相同的包可以访问。 多个相邻的同类型的参数可以使用简写模式 不支持默认参数 不支持函数重载

实参与形参

Go 函数实参到形参的传递永远是值拷贝,即使是参数是指针也是值拷贝,传递给形参的是这个指针变量的副本, 二者指向同一地址 , 本质上参数传递仍然是值拷贝。

函数签名

函数签名也就是函数类型,一个函数的签名就是指函数定义首行去掉函数名、参数名和{ 两个函数类型相同的条件是:拥有相同的形参列表和返回值列表(列表元素的次序、个数和类型都相同),形参名可以不同 。

匿名函数

匿名函数可以看作函数字面量 , 所有直接使用函 数类型变量的地方都可以由匿名函数代替。医名函数

不定参数

不定参数类型必须一致 多个参数时,不定参数必须是最后一个。 不定参数在函数体内相当于切片。切片可以作为参数传递给不定参数,切片名后面需要加上...

defer

先进后出( FILO )的 顺序在函数返回前被执行 。 这有点类似于 Java 语言中异常处理中的 finaly 子句。 defer 常用于保 证一些资源最终一定能够得到回收和释放。

闭包

闭包是由函数及其相关引用环境组合而成的实体,一般通过在匿名函数中引用外部函数的 局部变量或包全局变量构成。 闭包对闭包外的环境引入是直接引用,编译器检测到闭包,会将闭包引用的外部变量分配 到堆上 。

panic

panic 用来主动抛出错误

recover

recover 用来捕获 panic 抛出的错误。

错误处理

Go 语言内置错误接口类型 error。 任何类型只要实现 Eηor() string 方法,都可以传递 eηor 接口类型变量。 Go 语言典型的错误处理方式是将 error 作为函数最后一个返回值 。 在调用函数 时 , 通过检测其返回的 error 值是否为 nil 来进行错误处理。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 函数定义
  • 实参与形参
  • 函数签名
  • 匿名函数
  • 不定参数
  • defer
  • 闭包
  • panic
  • recover
  • 错误处理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档