社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
个人github(包括golang学习笔记、源码):https://github.com/fangguizhen/Notes/blob/master/Golang%E7%9F%A5%E8%AF%86%E7%82%B9.md
1.函数的形参列表可以是多个,返回值列表也可以是多个。
2.形参列表和返回值列表的数据类型可以是值类型和引用类型。
3.函数的命名遵循标识符命名规范,首字母不能是数字,首字母大写该函数可以被本包文件和其它包文件使用,类似public,首字母小写,只能被本包文件使用,其它包文件不能使用,类似privat。
4.函数中的变量是局部的,函数外不生效。
5.基本数据类型和数组默认都是值传递的,即进行值拷贝。在函数内修改,不会影响到原来的值。
package main
import "fmt"
func test(n1 int) {
n1 = n1 + 10
fmt.Println("test() n1=", n1)
}
func main() {
num := 20
test(num)
fmt.Println("main() num= ", num)
}
运行结果:
6.如果希望函数内的变量能修改函数外的变量(指的是默认以值传递的方式的数据类型),可以传入变量的地址&,函数内以指针的方式操作变量。从效果上看类似引用。
package main
import "fmt"
func test(n1 *int) {
*n1 = *n1 + 10
fmt.Println("test() n1=", *n1)
}
func main() {
num := 20
test(&num)
fmt.Println("main() num= ", num)
}
运行结果:
7.Go函数不支持函数重载。
8.在Go中,函数也是一种数据类型,可以赋值给一个变量,则该变量就是一个函数类型的变量了。通过该变量可以对函数调用。
9.函数既然是一种数据类型,因此在Go中,函数可以作为形参,并且调用。
10.为了简化数据类型定义,Go支持自定义数据类型。
基本语法:
type 自定义数据类型名 数据类型 // 相当于一个别名。
如
type myint int
此时myint等价于int使用,但从语法上来看还是两个类型。
11.支持对函数返回值命名。
12.使用_标识符,忽略返回值。
13.Go支持变参函数。
参考资料:尚硅谷韩顺平Go语言核心编程
欢迎大家指正补充,感谢阅读。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!