golang 重要知识点(一)
理解go env 中的重要变量
首先我们要来看一下go env(目前版本1.16xxx)
点击查看代码
#####是否使用GOMOD 模式
GOPATH="/Users/dashuai/go"
GO111MODULE=""
即使项目在您的 GOPATH 中,GO111MODULE = on 仍将强制使用 Go 模块。需要 go.mod 正常工作。
GO111MODULE = off 强制 Go 表现出 GOPATH 方式,即使在 GOPATH 之外。
GO111MODULE = auto 是默认模式。在这种模式下,Go 会表现
当您在 GOPATH 外部时, 设置为 GO111MODULE = on,
当您位于 GOPATH 内部时,即使存在 go.mod, 设置为 GO111MODULE = off。
#####和跨平台编译相关的变量
CGO_ENABLED=1 是否开启go-c 依赖
GOARCH="amd64" 系统架构X86、ARM、RISC、MIPS
GOOS="darwin" 运行系统类型
#####
GOBIN=""
GOCACHE="/Users/dashuai/Library/Caches/go-build"
GOENV="/Users/dashuai/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOINSECURE=""
GOMODCACHE="/Users/dashuai/go/pkg/mod"
##### go proxy 相关配置
GONOPROXY="" 不使用goproxy
GONOSUMDB="" 不进行sum校验
GOPRIVATE="" 应该被视为私有的模块路径前缀的 glob 模式列表 (注:glob 是用于匹配符合指定模式的文件集合的一种语言,下同)。 充当 “GONOPROXY” 和 “GONOSUMDB” 的默认值。
GOPROXY="https://goproxy.cn,direct" goproxy地址
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org" gosum 地址
#####
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16.6"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/hk/k1f6bc8x4k9bs9m4w_zzy63h0000gn/T/go-build2150469306=/tmp/go-build -gno-record-gcc-switches -fno-common"
go iota
###跳过部分值
const (
a iota 0
b 1
_ 2 | 如果 c = 100 则按照实际赋值
d 3
)
### 另起行则从新按零记录
const e iota 0
用来生成存储单位
const (
_ = iota
KB = 1 << (10 * iota)
MB = 1 << (10 * iota)
GB = 1 << (10 * iota)
TB = 1 << (10 * iota)
PB = 1 << (10 * iota)
)
# 多值赋值
const (
a, b = iota + 1, iota + 2 //1,2
c, d //2,3
e, f //3,4
)
go array 和 slice
array 长度不可变,array 在函数中传递时会进行全复制。函数内部array 发生变化则函数外部array 不变化。除非传递函数指针.
slice 长度可变,在函数传递中,函数内部也会操作底层数组引起外部改变
本文来自博客园,作者:萱乐庆foreverlove,转载请注明原文链接:https://www.cnblogs.com/leleyao/p/16821016.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类