编程语言
首页 > 编程语言> > 【Go语言核心编程】知识点记录——第二章函数

【Go语言核心编程】知识点记录——第二章函数

作者:互联网

1.GO函数作为“第一公民”的表现:

a. 函数是一种类型,函数类型变量可以像其他类型变量一样使用,可以作为其他函数的参数或者返回值,也可以直接调用执行;
b. 函数支持多值返还;
c. 支持闭包;
d. 函数支持可变参数;

2.函数名遵守标识符的命名规则,首字母的大小写决定该函数在其他包的可见性:大写时其他包可见,小写时只有相同的包可以访问。

3.函数的特点

a. 函数可以没有输入参数,也可以没有返回值
b. 多个相邻的相同类型的参数可以使用简写模式
c. 支持有名的返回值,参数名就相当于函数体内最外层的局部变量,命名返回值变量会被初始化为类型零值
d. 不支持默认值参数
e. 不支持函数重载
f. 不支持命名函数的嵌套定义

4.实参到形参的传递

Go函数实参到形参的传递永远是值拷贝,有时函数调用后实参指向的值发生了变化,那是因为参数传递的是指针值的拷贝,实参是一个指针变量,传递给形参的是这个指针变量的副本,二者指向同一地址,本质上参数传递仍然是值拷贝。

5.不定参数的特点

a.所有的不定参数类型必须是相同的;
b. 不定参数必须是函数的最后一个参数;
c. 不定参数名在函数体内相当于切片,对切片的操作同样适合对不定参数的操作;
d.切片可以作为参数传递给不定参数,但切片名后要加上“…”;
e.形参为不定参数的函数和形参为切片的函数类型不相同;

6. defer可以注册多个延迟调用,这些调用以先进后出(FILO)的顺序在函数返回前被执行,但主动调用os.Exit(int)退出进程时,defer将不再被执行(即使defer已经提前注册)

标签:知识点,函数,编程,切片,参数,Go,返回值,实参,不定
来源: https://blog.csdn.net/qq_39697306/article/details/112234763