Go学习笔记

本文介绍了Go语言的学习笔记,包括环境变量配置、国内镜像使用、项目依赖管理、Go程序设计、测试编写、数据类型、条件循环、反射、结构标签、架构模式以及HTTP服务的构建。特别强调了Go中的指针、字符串操作、单元测试和对象池的实现。
摘要由CSDN通过智能技术生成

Go环境变量

GOROOT:Go 语言安装根目录的路径。

GOPATH:若干工作区目录的路径,我们自己定义的工作空间。

GOBIN:GO 程序生成的可执行文件(executable file)的路径。

国内镜像

https://goproxy.cn

# macOS or Linux
export GO111MODULE=on
export GOPROXY=https://goproxy.cn

# others
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

Go项目依赖项

遇到多个依赖项缺失的情况,可以通过以下步骤尝试解决:

  1. 清理缓存:首先,尝试清理 Go 的模块缓存,这有时能解决由缓存引起的问题。
go clean -modcache

  1. 拉取所有依赖项:然后,使用 go mod tidy 命令来拉取缺失的依赖项并清理不再需要的依赖项。这个命令会检查你的代码中的导入声明,并更新 go.modgo.sum 文件以确保它们包含所有必需的依赖项。
go mod tidy

  1. 手动添加依赖项:如果上述命令未能解决问题,你可以根据错误信息手动运行 go get 命令来添加缺失的依赖项。例如:
go get github.com/beego/beego/v2/server/web/context@v2.1.6
go get github.com/prometheus/client_golang/prometheus@v1.16.0
go get github.com/prometheus/client_model/go@v0.3.0

  1. 确保使用正确的 Go 版本:有时,依赖项问题可能是因为你使用的 Go 版本与项目的要求不匹配。确保你的 Go 版本符合项目的要求。你可以通过运行 go version 查看当前 Go 版本。
  2. 检查 GOPATH 和 GO111MODULE:确保你的 GOPATH 设置正确,并且项目位于 GOPATH 外部(如果你使用的是 Go Modules)。如果你使用的是 Go Modules(Go 1.11 及以上版本),可以通过设置环境变量 GO111MODULE=on 来启用模块支持。

Go程序

  1. Go中main函数不支持任何返回值
  2. main函数不支持传入参数,在程序中通过os.Args获取命令行参数
  3. 通过os.Exit、os.Exit(-1)来返回状态
package main

import (
	"fmt"
    ""
)

func main(){
    fmt.Println("Hello World")
}
# 运行go源文件
go run hello_world.go

# 
  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

南方淮竹

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

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

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

打赏作者

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

抵扣说明:

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

余额充值