zoukankan      html  css  js  c++  java
  • go语言包的介绍

    包的定义   

         包文件所在的位置
         包文件就是一个Go源码文件

       如何指定包名
          package name  //name是目录名称 不能是main
          在同一个目录中所有的go文件的包名必须要相同 否则会异常

       包文件所在的目录如何命名
          如果包是对外发布的 最好用域名来命名顶层的包目录 以保证全球唯一
          import() 里面导入的是包目录(都是路径) 而不是包
          所有import导入的包路径 必须要在后面引用 否则会报错(提高编译效率)
          如果包路径有冲突或者太长 可以为包路径取一个别名
          只想导入包目录 后面不想引用包
          import _ "fmt" 在import后面添加一个_


       包目录所在的位置
         一定要放在GOPATH或者GOROOT的src的目录下


    包的导入
      包名可以是包文件所在的目录名称 也可以是自定义名称不一定要是目录名称


    封装包提供给别人使用
      把自己创建的包目录如(github.com/k8s.io/fmt) 拷贝到(GOPATH或者GOROOT)/src
      src目录是必须要存在的 这个目录一般在GOPATH或者GOROOT下


    包的别名
        1.包名太长
        2.包名冲突
        import 别名 包路径

    匿名包
      import _ 包路径
      需要导入包但是不需要调用包中的任何引用 可能只是用来自动初始化某些数据

    go安装线上第三方模块

             如果是1.11版本 可以设置goproxy,有开源的谷歌代理地址:goproxy.io

      

      [root@k8s-master src]# export GO111MODULE=on
      [root@k8s-master src]# export GOPROXY=https://goproxy.io
      [root@k8s-master src]# go get k8s.io/apimachinery/pkg/apis/meta/v1

     

       go get获取代码到本地的时候编译器会通览一遍代码,得出需要哪些依赖包.如果本地没有这些依赖包会从远程拉取这些依赖包到本地然后完成编译.

       go 工具会自动根据不同的域名调用不同的代码管理工具

       go [command] ./...
            这里./告诉从当前文件夹开始,...告诉递归下去

        go get -u -v k8s.io/code-generator/...    -v 可以显示操作的每个执行细节 方便调试查看

  • 相关阅读:
    【iOS】获取App的常用文件路径
    【iOS】如何在Objective-C中声明Block?
    实用终端小命令
    iOS开发之NSBundle加载自定义cell需指定其的identifier
    【转】nonatomic, retain,weak,strong用法详解
    iOS控制台打印NSLog增强版
    iOS 内存中的ViewController释放
    iOS ViewController生命周期
    Netty (一) IO 基础篇
    多线程(七) 线程池的实现原理分析
  • 原文地址:https://www.cnblogs.com/yxh168/p/12199768.html
Copyright © 2011-2022 走看看