美文网首页
go 包的使用细节

go 包的使用细节

作者: StevenQin | 来源:发表于2019-02-26 12:45 被阅读0次

    细节说明

    • 1、在给一个文件打包时,该包对应一个文件夹,比如这里的 utils文件夹对应的包名就是utils, 文件的包名通常和文件所在的文件夹名一致,一般为小写字母

    • 2、 当一个文件要使用其它包函数或变量时,需要先引入对应的包

     // 引入方式 1:
    import "包名"
      //引入方式 2:
    import (
     "包名"
     "包名" 
    )
    

    package指令在 文件第一行,然后是import指令。

    import包时,路径从$GOPATHsrc下开始,不用带 src, 编译器会自动从src下开始引入

    • 3、为了让其它包的文件,可以访问到本包的函数,则该函数名的首字母需要大写,类似其它语言 的 public ,这样才能跨包访问。比如 utils.go
    • 4、在访问其它包函数,变量时,其语法是 包名.函数名, 比如这里的 main.go文件中
    • 5、如果包名较长,Go 支持给包取别名, 注意细节:取别名后,原来的包名就不能使用了
     import (
        "fmt"
       util "demofunc01/utils"
    )
    
    • 6、 在同一包下,不能有相同的函数名(也不能有相同的全局变量名),否则报重复定义
    • 7、 如果你要编译成一个可执行程序文件,就需要将这个包声明为main , 即 package main.这个就是一个语法规范,如果你是写一个库 ,包名可以自定义

    编译一个可执行文件案例

    1、演示一个案例,项目的目录如上图。
    2、编译的指令,在项目目录下,编译路径不需要带src,编译器会自动带。

    matsu workspace_go
    $ go build demofunc01/main
    

    3、编译时需要编译main包所在的文件夹。
    4、项目的目录结构最好按照规范来组织。
    5、编译后生成一个有默认名的可执行文件,在$GOPATH目录下,可以指定名字和目录,
    比如:放在bin目录下:

    //main.go路径 /Users/matsu/Documents/workspace/workspace_go/src/demofunc01/main
    matsu workspace_go
    $ go build -o bin/my.exe demofunc01/main
    

    相关文章

      网友评论

          本文标题:go 包的使用细节

          本文链接:https://www.haomeiwen.com/subject/cklayqtx.html