zoukankan      html  css  js  c++  java
  • go 学习 (五):包管理

    一、设置环境变量

    二、启用 go modules 功能 并设置代理

    https://goproxy.io/zh/

    补充:

      GO111MODULE  有三个值:on、off、auto

    • GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
    • GO111MODULE=ongo命令行会使用modules,而一点也不会去GOPATH目录下查找。
    • GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。

      modules 功能启用后,依赖包的安装位置在 $GOPATH/pkg 目录下;go mod 提供的命令如下:

    三、go mod 命令管理包

    • 在 GOPATH 以为的任意路径下新建项目目录,eg:GOPATH目录为 D:GoCode;项目目录为 D:Project/testProject
    • 进入项目目录,新建目录 bin、src/main,进入 src 目录;注:此处目录可随意。
    • 使用命令:go mod init main,此时生成一个 go.mod  文件;注:go mod init 命令后面也可以跟上文件名称(带后缀)。go.mod文件创建后,它的内容将会被go toolchain全面掌控。go toolchain会在各类命令执行时,比如go get、go build、go mod等修改和维护go.mod文件。
    • 进入 main目录,新建 main.go 文件,写入代码:
    package main
    
    import (
        "net/http"
        
        "github.com/labstack/echo"
    )
    
    func main() {
        e := echo.New()
        e.GET("/", func(c echo.Context) error {
            return c.String(http.StatusOK, "Hello, World!")
        })
        e.Logger.Fatal(e.Start(":1323"))
    }
    main.go
    • 使用命令:go run main.go,正常运行的结果如下:

    • go module 安装 package 的原则是先拉最新的 release tag,若无tag则拉最新的commit。 go 会自动生成一个 go.sum 文件来记录 dependency tree。go.mod 文件内容如下

    go.moudles 的官方介绍:https://github.com/golang/go/wiki/Modules

    go.mod 提供了modulerequirereplaceexclude 四个命令

    • module 语句指定包的名字(路径)
    • require 语句指定的依赖项模块
    • replace 语句可以替换依赖项模块
    • exclude 语句可以忽略依赖项模块
  • 相关阅读:
    【iOS基础控件 6 】 汽车品牌展示 Model嵌套/KVC/TableView索引 <UITableView>
    RAC
    Magical Data Modelling Framework for JSON
    Xcode插件管理工具Alcatraz
    iOS8 Size Classes的理解与使用
    Storyboard、xib中的UIScrollView使用autolayout,使其能够滚动
    iOS事件响应链
    git一些常用的操作(转载)
    iOS本地数据存储(转载)
    使用react-native做一个简单的应用-04界面主框架
  • 原文地址:https://www.cnblogs.com/hsmwlyl/p/11776924.html
Copyright © 2011-2022 走看看