Go相关备忘

官网下载go的tar包解压安装(gccgo也是gcc工具集中用来编译go的,非必要不安装gccgo) 

wget https://golang.google.cn/dl/go1.19.2.linux-amd64.tar.gz

tar -xzvf go1.19.2.linux-amd64.tar.gz

mv go /usr

go version

go version go1.19.2 linux/amd64

vim /etc/profile

export GOROOT=/usr/go

export GOPATH=/home/guohua/golang #编译依赖自动下载的包都在这个目录下,gomod 模式下载的包在 mod/pkg/mod/下

#export GOPROXY=https://goproxy.io
export GOPROXY=http://192.168.24.11:3000

export GOARCH=amd64

export GOOS=linux

export GOTOOLS=$GOROOT/pkg/tool

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

代理配置:export GOPROXY=https://goproxy.cn,内部用的这个代理 GOPROXY=http://192.168.24.11:3000;GOSUMDB=off 下载不了github.com的资源

vim main.go

package main

import "fmt"

func main(){
        fmt.Println("hello!");

}

go build -o test main.go

./test

go mod使用(使用 go.mod,代理配置好后编译时自动下载依赖包)

export GO111MODULE=on

go mod init hello //不能在GOPATH下建立go.mod,要在GOPATH以外的目录建立

go build

./hello

vim go.mod

       module hello

      go 1.19

Go 自定义error:

err := fmt.Errorf("no the customer(%s)'s conference")

使用syslog:

import (
    "fmt"
    "log/syslog"
)

var (
    syslog_w           *syslog.Writer  
)
 
func InitializeSyslog(procName string, network string, raddr string) bool {
    if network == "" || raddr == "" {
        network = ""
        raddr = ""
    }
    t, err := syslog.Dial("", "", syslog.LOG_LOCAL7|syslog.LOG_NOTICE, procName)
    if err != nil {
        fmt.Printf("open common syslog fail, %s", err.Error())
        return false
    }
    syslog_w = t
    return true
}  
func Syslog_Notice(format string, v ...interface{}) {
    syslog_w.Notice(fmt.Sprintf(format, v...))  
}
func SysLog_Close() {
    syslog_w.Close()
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tangcpp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值