Golang函数-函数的基本概念
Golang函数-函数的基本概念
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.函数的概述
1>.函数定义语法格式
Go语言函数定义格式如下:
func 函数名( 函数参数列表 ) 返回值列表 {
函数体
return 返回值列表
} 关于函数定义的名词解释:
函数名:
顾名思义,就是定义函数的名字,方便用户多次调用,函数名其实你完全理解成一个标识符,因此函数名的命名规范也需要遵循标识符的命名规范,详情请参考我之前的笔记:https://www.cnblogs.com/yinzhengjie2020/p/12244384.html。
形参列表:
在定义函数时指定的形参,在未出现函数调用时,它们并不占内存的存储单元,因此称它们是形式参数或虚拟参数,简称形参,表示它们并不是实际存在的数据,所以,形参里的变量不能像python那样不能赋默认值。 返回值列表:
主要定义定义返回值的类型和个数。 函数体:
即定义调用该函数要执行的源代码。 返回值:
函数的返回值是通过函数中的return语句获得的,return后面的值也可以是一个表达式,只要返回值类型和定义的返回值列表所匹配即可。Go语言支持多个返回值。
2>.实参和形参
形参出现在函数定义中,在整个函数内部都可以使用,离开该函数则不能使用;
实参出现在主调函数中,进入被调函数后,实参也不能使用;
实参变量对形参变量的数据传递是"值传递",即单向传递,只由实参单向传递给形参,而形参不能传回来给实参; 在调用函数时,编译系统临时会给形参分配存储单元。调用结束后,形参单元被释放; 实参单元与形参单元是不同的单元。调用结束后,形参单元被释放,函数调用结束返回主调函数后则不能再使用该形参变量。实参单元仍保留并维持原值。因此,在执行一个被调用函数时,形参的值如果发生变化,并不会改变主调函数中实参的值。 特此声明:上面关于形参的值描述指的是基础数据类型,而复合类型(有的语言称为)在后续的学习中你会发现有一定的差异,不用担心,在后面的笔记分享中你会慢慢体会到其中的奥妙~
3>.函数的返回值
保证return语句中表达式的值和函数返回类型是同一类型,如果函数返回的类型和return语句中表达式的值不一致,程序则会报错; return语句的另一个作用为中断return所在的执行函数; 如果函数带返回值,return后面必须跟着值
二.函数的基本使用
1>.定义一个加法函数,接收2个int类型的函数返回2个int相加的结果
package main import (
"fmt"
) func add(a int, b int) (sum int) {
sum = a + b
return sum
} func main() { x :=
y := res := add(x, y) fmt.Printf("x + y = %d\n", res)
}
2>.Go语言常用系统函数使用
博主推荐阅读:
https://www.cnblogs.com/yinzhengjie/p/12208030.html
https://www.cnblogs.com/yinzhengjie/p/12203765.html
Golang函数-函数的基本概念的更多相关文章
- golang的函数
在golang中, 函数是第一类值(first-class object), 即函数可以赋值与被赋值. 换言之, 函数也可以作为ReceiverType, 定义自己的method. 实例: http. ...
- 分位函数(四分位数)概念与pandas中的quantile函数
p分位函数(四分位数)概念与pandas中的quantile函数 函数原型 DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpola ...
- python函数中闭包的概念说明
函数中闭包的概念说明 闭包: 内层函数对外层函数非全局变量的引用,就叫做闭包 判断闭包方法 ._closure_ : 执行后返回有效信息就是闭包,返回none就不是闭包 举例1: 是闭包 def wr ...
- golang(06)函数介绍
原文链接 http://www.limerence2017.com/2019/09/11/golang11/#more 函数简介 函数是编程语言中不可缺少的部分,在golang这门语言中函数是一等公民 ...
- Python第六章-函数01-函数的概念和使用
函数 为了便于程序的维护和更好的实现模块化,好的程序都会分解为很多函数. 可以这么说,对于任何的编程语言,函数都是一个非常重要的概念. python 不仅简化了函数的定义过程,而且还大量借鉴了其他函数 ...
- golang:函数总结
golang保留的函数 init(), main()是golang的保留函数,有如下特点: main() 只能用在main包中,仅可定义一个,init() 可定义任意包,可重复定义,建议只定义一个 两 ...
- JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}
Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...
- Golang(二)基本概念
类型 18个基本类型:bool.string.rune.byte.int.uint.int8.uint.int8.int16.uint16.int32.uint32.int64.uint64.floa ...
- python函数-函数初识
python函数-函数初识 1.函数的定义 语法 def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值 2.函数的使用原则---先定义后调用 #定义阶段 ...
随机推荐
- 第4节 Scala中的actor介绍:1、actor概念介绍;2、actor执行顺序和发送消息的方式
10. Scala Actor并发编程 10.1. 课程目标 10.1.1. 目标一:熟悉Scala Actor并发编程 10.1.2. 目标二:为学习Akka做准备 注:Sca ...
- Linux命令:ifconfig命令
ifconfig功能:配置网络接口,CentOS7最小化安装不包含此命令,需要安装net-tools包. ifconfig常见的用法: ifconfig :显示所有活动接口的相关信息 ifconfig ...
- StringUtils工具类中的isBlank()方法和isEmpty()方法的区别
1.isBlank()方法 1 public static boolean isBlank(String str) { 2 int strLen; 3 if (str == null || (strL ...
- ActiveMQ--模式(队列模式/主题模式)
两种模式:队列模式/主题模式 pom.xml <dependency> <groupId>org.apache.activemq</groupId> <art ...
- uniGUI之TUniHiddenPanel(14)
TUniHiddenPanel是将不在界面上显示的 容器 控件. 只有uniDBGrid实际列才有对应的编辑控件,如果是外键列则无法设置 编辑控件. 里面的控件将不会 显示.将控件放入其中即可. ...
- 《React后台管理系统实战 :四》产品分类管理页:添加产品分类、修改(更新)产品分类
一.静态页面 目录结构 F:\Test\react-demo\admin-client\src\pages\admin\category add-cate-form.jsx index.jsx ind ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:复选框(Checkbox)和单选框(Radio)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 彻底搞懂 JS 中 this 机制
彻底搞懂 JS 中 this 机制 摘要:本文属于原创,欢迎转载,转载请保留出处:https://github.com/jasonGeng88/blog 目录 this 是什么 this 的四种绑定规 ...
- Hadoop基准测试(二)
Hadoop Examples 除了<Hadoop基准测试(一)>提到的测试,Hadoop还自带了一些例子,比如WordCount和TeraSort,这些例子在hadoop-example ...
- SQL中limit的用法
limit子句用于限制查询结果返回的数量 格式: select * from tableName limit i,n # tableName:表名 # i:为查询结果的索引值(默认从0开始),当i=0 ...