zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    线程简介
    JDBC连接数据库遇到的“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。
    项目开发中需要考虑的问题2
    JPA使用中遇到Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: XXX is not mapped
    ORA-01747: user.table.column, table.column 或列说明无效
    IDEA使用一套代码启动多个应用
    tomcat8.5部署管理控制台
    ubuntu16虚拟机迁移/移动/复制后无法上网
    centos7没有IP地址
    repmgr自动故障转移的参数配置
  • 原文地址:https://www.cnblogs.com/sweetsunnyflower/p/11377935.html
Copyright © 2011-2022 走看看