golang学习(十一):函数的使用细节 - Go语言中文社区

golang学习(十一):函数的使用细节


个人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语言核心编程

 


欢迎大家指正补充,感谢阅读。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_44079228/article/details/88049764
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-28 20:19:16
  • 阅读 ( 959 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢