zoukankan      html  css  js  c++  java
  • Go 的package

    一、包的一些基本的概念

    1、在同一个目录下的所有go文件中,只能有一个main函数。如果存在多个main函数,则在编译的时候会报错

    那么,在同一个目录下的两个go文件究竟是什么关系? 为什么会彼此影响呢?

    这里要提到go package的两个约束:

    1、同一个目录下的go文件,如果package是main,那么这个目录下的go文件只能有一个main函数。

    2、同一个目录下的go文件,只能是一个package。 (注意: 这里说的是同一个目录下的go文件,但不是同一个目录下的其他目录中的go文件)

    那么问题来了,为什么需要package呢?

    在一个项目中,会有很多个go文件,package的作用就是进行一个代码分类组织

    举个例子:

      1.在hello.go里面定义个main函数,引用了main的package。

      2.在另一个echo.go里面,因为只能有一个main函数,所以这里只定义了变量 var X string  = "chenchao"

      3.那么在hello.go里面就可以直接用另一个文件中的X变量了

    package的作用:

      1、同一个package下可以共享变量

      2、同一个package下可以共享函数

     二、一个在线的package的帮助文档

     http://godoc.org/+包的名称

     三、引入第三方的package

    例如: 引入github下的一个库

    1、go get github.com/icexin/golib

      这一步操作就是讲git上的库下载到本地,你会发现这条命令会将package默认下载到 $GOPATH下的/src/下,并与package的目录结构一致。

    2、在/src/的其他目录下新创建一个目录如:/thirdlib/,作为另一个package,然后在目录下新建一个main.go文件,并导入刚才下载的第三方package

      

    这里引入的第三方package 是一个全路径,这个路径就是从 $GOPATH/src/开始算起。所以,要写的路径就是从/src/开始。

  • 相关阅读:
    Windows核心编程笔记:同步设备I/O与异步设备I/O 200404
    最顶层窗口
    Windows环境变量
    如何使用Beyond Compare比较两个文件夹的差异
    c++生成缩略图
    MD5加密算法
    c++读写注册表
    通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号
    Hive中HSQL中left semi join和INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN区别
    postgreSQL格式化时间的函数详解
  • 原文地址:https://www.cnblogs.com/chenchao1990/p/7019258.html
Copyright © 2011-2022 走看看