Go核心开发学习笔记(十二) —— 函数基本概念和包的概念、工程目录

函数

  1. 为完成某一功能的程序指令的集合,称为函数。
  2. 解决问题:代码冗余;不利于代码维护。
  3. 可以使main()代码段结构简洁明了。
  4. 函数分为自定义函数和系统函数。

基本语法

func <函数名> (<形参列表>) (返回值列表) {
<执行语句>
return 返回值列表 //return两个功能,终止函数和返回值
}

  1. 参数列表,表示函数的输入形参
  2. 函数可以有返回值,也可以没有。
    简单函数示例:
    package main
    
    import "fmt"
    
    func calc (n1 float64 , n2 float64) float64 {
    	res := n1 * n2
    	return res
    }
    
    func main() {
    	a,b := 10.0,40.0
    	res := calc(a,b)
    	fmt.Println(res)
    }
    

包的作用

  1. 区分相同名字的函数,变量,标识符等,每个包都是一个独立的命名空间。
  2. 当程序文件很多时,可以很好地项目管理。
  3. 控制函数,变量的访问范围,即作用域。
  4. 引入包的用法: import <包的路径>
  5. ★★★使用其他包的函数的方法: <包名>.<函数名>,切记被引入的包的函数名首字母必须大写才可以引用。
  6. 不仅可以是用其他包中的函数,也可以引用其他包中的变量,使用方法:<包名>.<变量名>
  7. 如果引入的包名过长,可以使用别名方式为长包名命名一个单词,例如: import ( util “aa/bb/cc/dd/ee”),这样函数后续都是用 util.<函数>,util.<变量>。
  8. 同一个包中不可以有重复的函数名称。
  9. 如果要编译一个可执行文件,必须将这个包声明为main,只有package main 才是程序唯一的入口,其他的库文件可以使用不同的package名称。

关于GOPATH和Goland中的坑

  1. 在Goland中首先设置好Gopath,File->Setting->Go->GOPATH->Porject Gopath 设置为当前Gopath,因为未来会有很多项目,所以设置当前项目的Gopath。
  2. 在Gopath目录下配置好bin pkg src三个文件夹。
  3. 后续所有自己写的包必须放在src目录下,在本项目中的import就可以直接写包名,被其他函数调用了,import路径是从src下方开始的。
  4. 自己写的函数上方的package包名最好要和src下所处的文件夹名字相一致,方便个人习惯,实际上可以不同, src/shit下.go文件的package名为xiaoli,那么其他.go引入函数需要使用xiaoli,而不是shit。
  5. 包中的.go文件的函数名一定要首字母大写才可以被其他.go文件引用,不然会报红色变量标记告知没有这个函数。

关于Golang工程目录

  1. 项目目录结构如何组织,一般语言都是没有规定。但Go语言这方面做了规定,这样可以保持一致性
  2. 一般的,一个Go项目在GOPATH下,会有如下三个目录: $GOPATH1 = {bin pkg src}
  3. src里面放置着所有源代码,而其中应该只有一个main包,内部放置着package main的.go文件,只有main包才可以使用go install main生成可执行程序会放置在bin文件夹中。
  4. src除了main包下的其他包,其中的.go文件如果 go install xxx 后会生成库文件,xxx.a是二进制文件,不具备可读性,会放置在pkg文件夹中。
发布了50 篇原创文章 · 获赞 18 · 访问量 4017

猜你喜欢

转载自blog.csdn.net/weixin_41047549/article/details/89670819