• ubuntu go 开发环境搭建


    访问:https://golang.org/dl/

    下载 go1.12.4.linux-amd64.tar.gz

    wget https://dl.google.com/go/go1.12.4.linux-amd64.tar.gz
    
    sudo tar -zxvf go1.12.4.linux-amd64.tar.gz -C /opt
    

    检查安装是否成功

    cd /opt/go/bin
    
    ./go version
    
    go version go1.12.4 linux/amd64
    

    设置环境变量

    vi /etc/profile
    
    export GOROOT=/opt/go
    export GOPATH=/home/ubuntu/go
    export GOPROXY=https://goproxy.io
    export GOARCH=amd64
    export GOOS=linux
    export GOTOOLS=$GOROOT/pkg/tool
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
    
    source /etc/profile

    其中,GOPROXY 可以解决 golang.org/x/... 系列包无法下载的问题。

    编写 HelloWorld 文件,测试运行环境。

    package main
    import "fmt"
    func main(){
        fmt.Println("hello,world!")
    }
    go run hello.go
    go build hello.go 
    

    创建 go.mod 文件

    go mod init hello

    用 Gin 实现一个简单的 http 服务

    import (
        "gopkg.in/gin-gonic/gin.v1"
        "net/http"
    )
    
    func main(){
        
        router := gin.Default()
    
        router.GET("/", func(c *gin.Context) {
            c.String(http.StatusOK, "Hello World")
        })
        router.Run(":8000")
    }

    直接编译执行 

    go run hello

    可以看到引用的包都被自动下载了

    go: finding github.com/gin-contrib/sse latest
    go: finding github.com/gin-gonic/gin/render latest
    go: finding github.com/gin-gonic/gin/binding latest
    go: finding github.com/gin-gonic/gin/json latest
    go: finding golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223
    go: downloading golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223
    go: finding gopkg.in/go-playground/validator.v8 v8.18.2
    go: finding github.com/ugorji/go/codec latest
    go: finding github.com/golang/protobuf/proto latest
    go: finding gopkg.in/yaml.v2 v2.2.2
    go: downloading gopkg.in/go-playground/validator.v8 v8.18.2
    go: downloading gopkg.in/yaml.v2 v2.2.2
    go: finding github.com/ugorji/go v1.1.4
    go: finding github.com/golang/protobuf v1.3.1
    go: downloading github.com/ugorji/go v1.1.4
    go: downloading github.com/golang/protobuf v1.3.1
    go: extracting gopkg.in/go-playground/validator.v8 v8.18.2
    go: extracting gopkg.in/yaml.v2 v2.2.2
    go: extracting github.com/golang/protobuf v1.3.1
    go: extracting github.com/ugorji/go v1.1.4
    go: extracting golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223
    go: finding gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
    

    HTTP 服务启动正常,可以通过浏览器访问了。

    [GIN-debug] [WARNING] Now Gin requires Go 1.6 or later and Go 1.7 will be required soon.
    
    [GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
    
    [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
     - using env:   export GIN_MODE=release
     - using code:  gin.SetMode(gin.ReleaseMode)
    
    [GIN-debug] GET    /                         --> main.main.func1 (3 handlers)
    [GIN-debug] Listening and serving HTTP on :8000
  • 相关阅读:
    [bochs]反编译的代码只能参考参考
    [Linux命令]dd
    exp1orer.exe木马解除方法
    江民公布“密码7005”最新变种技术报告
    广外女生1次惊心动魄的卸载
    [病毒]exp1orer.exe
    [Win2003]禁用关机原因调查
    获得本机IP地址
    一段连接FTP的VC代码
    [Perl]FTP自动上传文件的脚本以及配置文件
  • 原文地址:https://www.cnblogs.com/sweetsunnyflower/p/11377935.html
Copyright © 2020-2023  润新知