Golang

下载对应版本Go的安装包

  • LINUX

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    # 删旧装新
    rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz

    # 配置环境变量
    export PATH=$PATH:/usr/local/go/bin

    # 检测
    go version

    go get [package]
    ps:go get rsc.io/quote

    # 超时问题解决
    go env|grep GOPROXY
    export GOPROXY=https://goproxy.cn

    # 网络增加DNS 223.5.5.5

    #
    go env -w GO111MODULE=on
    # export GO111MODULE=on


    export CGO_CPPFLAGS="-Wno-error -Wno-nullability-completeness -Wno-expansion-to-defined"
  • 安装goenv

    1
    2
    # https://github.com/go-nv/goenv/blob/master/INSTALL.md
    git clone https://github.com/go-nv/goenv.git ~/.goenv
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 查看git全局参数
    git config --global -l
    # 重新设置git代理信息
    git config --global --unset http.proxy
    git config --global --unset https.proxy
    git config --global http.proxy http://127.0.0.1:7890
    git config --global https.proxy http://127.0.0.1:7890
    # 再次尝试
    git clone https://github.com/go-nv/goenv.git ~/.goenv
    1
    2
    3
    export http_proxy="http://127.0.0.1:7890"
    export https_proxy="http://127.0.0.1:7890"
    goenv install 1.24.2
    1
    2
    3
    4
    # 查看IP/域名对应解析的地址
    nslookup IP或域名
    dig IP或域名
    # https://www.ipaddress.com 输入IP/域名 同样能完成上述需求
    1
    2
    goenv global 1.24.2
    go version

注意事项

  1. import ()是小括号不是{}
  2. import ()中使用双引号不能使用单引号
  3. go build example时遇到package example is not in std (XXX)

​ go env -w GO111MODULE=off

​ 暂时还不知道啥意思后面慢慢理解

  1. go build xxx # go语言编译命令

    go install xxx

  2. iota同一样值一样,按照切换行自动+1,默认是0,如果中间有const被代码赋值,后续继续使用iota需要在下一位常量定义处添加iota.

    1
    2
    3
    4
    5
    6
    7
    8
    const (
    n1,n11 = iota,iota+1
    n2 = 100
    n3 = iota
    n4
    n5
    )
    fmt.Println(n1,n11,n2,n3,n4,n5)
    1
    2
    3
    go run goprogram.go

    # 0 1 100 2 3 4 5
  1. 报错

    go install github.com/gin-gonic/gin

1
export CGO_CPPFLAGS="-Wno-error -Wno-nullability-completeness -Wno-expansion-to-defined"