Go - 19 Go 包

包的引出:
    1.在实际开发中,我们往往需要在不同的文件中,去调用其他文件的定义的函数,比如main.go 中去使用 utils.go 文件中的函数,如何实现? --> 包
    2.现在有两个程序员共同开发一个Go项目,程序员xiao 希望定义函数Cal, 程序员qiang 也想定义函数也叫Cal , 两个程序员为此还吵起来了怎么办?---> 包
 
包的原理:
    包的本质实际上就是创建不同的文件夹,来存放程序文件;
 
包的基本概念:
    go的每一个文件都属于一个包,也就是说go是以包的形式来管理文件和项目目录结构的;
 
包的三大作用:
    1.区分相同名字的函数,变量等标识符;
    2.当程序文件很多时,可以很好的管理项目;
    3.控制函数,变量等访问范围,即作用域;
 
打包基本语法:
    package util
 
引入包的基本语法:
    import "包的路径" 从src下开始不包含src,只是引入到包,而真正使用的时候需要看函数所在.go文件的 package 后的名字使用
 
包的注意事项和细节:
    1.文件的包名通常和文件所在的文件夹名一致,一般为小写字母;
    2.package 指令在文件第一行,然后是import 指令;
    3.在import 包时,路径从$GOPATH的 src下开始,不用带src,编译器会自动从src下开始引;
    4.为了让其他包的文件,可以访问到本包的函数,则该函数名的首字母需要大写,类似其他语言的public,这样才能跨包访问;
    5.在访问其他包函数时,其语法是:包名.函数名 
    6.如果报名较长,Go支持给包取别名,注意细节,取别名后,原来的包名就不能使用了;
    7.在同一个包(文件夹)下,不能有相同的函数名(也不能有相同的全局变量名),否则报重复定义;
    8.如果你要编译成一个可执行程序文件,就需要将这个包声明为 main,即package main 这个就是一个语法规范,如果你是写一个库,包名可以自定义;
    具体说明:
        1.编译的指令,在项目目录下,编译路径不需要带src,编译器会自动带;
        2.编译时需要编译main包(package main)所在的文件夹;
        3.项目的目录结构最好按照规范来组织;
        4.编译后生成一个有默认名的可执行文件,在$GOPATH 目录下,可以指定名字和目录,比如:放在bin目录下,go build -o bin/my.exe go_code/goproject/main  (没有bin目录回自动生成)
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2020-11-05 16:04  以赛亚  阅读(110)  评论(0编辑  收藏  举报