[Golang] go mod 参考案例(有图有案例)

  • go module好处:
    • 百度
    • (我只记得使用go mod可以让项目目录不用一定在gopath的src下了)
  • 国内的小伙伴需要国内设置代理,不然没梯子容易爆蛋:
    • windows:
      • $env:GO111MODULE="on"
      • $env:GOPROXY="https://goproxy.io"
      • go env -w GOPROXY=https://goproxy.io,direct
      • go env -w GOPRIVATE=*.corp.example.com
    • linux:
      • 百度吧
  • 以 iris 框架为例,意会吧[Golang] go mod 参考案例(有图有案例)_第1张图片
    直接就在桌面打开了
    [Golang] go mod 参考案例(有图有案例)_第2张图片
    新建了一个main.go,打开终端:
    go mod init xxx
    [Golang] go mod 参考案例(有图有案例)_第3张图片
    然后它就自己生成go.mod,内容如下:
    [Golang] go mod 参考案例(有图有案例)_第4张图片
    我们就可以不用管了,直接写我们的代码:
    一个极简单的例子
package main

import (
	"github.com/kataras/iris"
)

func NewApp() *iris.Application{
	var app = iris.New()
	
	app.Get("/", func(ctx iris.Context){
		ctx.WriteString("this is index page!")
	})
	return app
}

func main(){
	var app = NewApp()
	app.Run(iris.Addr(":8000"))
}

在命令终端执行go run ./main.go:
它就会自动地去找相关的包啊库啊什么的
[Golang] go mod 参考案例(有图有案例)_第5张图片
执行成功,我们的server启动了:
[Golang] go mod 参考案例(有图有案例)_第6张图片
使用本地自己写的包
[Golang] go mod 参考案例(有图有案例)_第7张图片
下面的myweb就是你go mod init xxx 初始化中的xxx:
xxx下的fxckout包(package fxckout)
[Golang] go mod 参考案例(有图有案例)_第8张图片
[Golang] go mod 参考案例(有图有案例)_第9张图片
这里鼓捣的是我们在自己的包里使用第三方的包,
go.mod建立在/myweb目录下,
我在/myweb/fxckout/的fxck.go下导其它的包,它知道吧?
它知道:
[Golang] go mod 参考案例(有图有案例)_第10张图片
[Golang] go mod 参考案例(有图有案例)_第11张图片
[Golang] go mod 参考案例(有图有案例)_第12张图片
go.mod这个文件我们从来没有动过它:
[Golang] go mod 参考案例(有图有案例)_第13张图片

你可能感兴趣的:(笔记)