摘要:示例:0,1 随机 package main import "fmt" import "math/rand" import "time" func main() { rand.Seed(time.Now().UnixNano()) fmt.Println(rand.Intn(2)) } 基于 mat
阅读全文
摘要:思路是使用 golang 的 net/url 包提供的方法解析url各部分,其中 URL.RawQuery 为查询参数部分,格式如 :a=b&c=d 然后我们再通过 strings.ReplaceAll 空字符替换掉这一部分即可。 我实现的例子:UriFilterExcludeQueryString
阅读全文
摘要:表现:import 引入的包始终是红色的,表示没有找到引入的包。 注意,在这里开启Go Modules: 然后在 Exteneral Libraries 里看到 Go Modules 即可。 Refer:GoProxy Other:GoLand 需要手动开启代码补全吗 Link:https://ww
阅读全文
摘要:godoc 提供了在无网环境下 浏览官方文档的便利。 示例: $ go get golang.org/x/tools/cmd/godoc $ godoc -http=localhost:6060 Link:https://www.cnblogs.com/farwish/p/14239594.html
阅读全文
摘要:当我们在 Golang 中使用 errors.New("Aaa.") 形式返回 error 信息时,文字内容不应该以大写字母开头或者标点符号结尾。 所以这样是可以的 errors.New("aaa") Refer:Golang常见错误 Link:https://www.cnblogs.com/far
阅读全文
摘要:当我们不再使用某个包,或者包名变更时,是如何保证 go.mod 更新的。 只要代码中没有地方 import 使用到某个包了,我们运行: $ go mod tidy module 管理器会帮我们自动清理掉 go.mod, go.sum 中引入而未使用的包。 Refer:Golang组件包用法 Link
阅读全文
摘要:在 Go 中运行服务之前的绑定端口这一步,如果端口号被占用了,那么会提示它只能使用一次。 换个端口号或者检查端口号的占用程序。 Link:https://www.cnblogs.com/farwish/p/14194897.html
阅读全文
摘要:执行系统 shell 命令示例: fileDir := "files/"out, err := exec.Command("sh", "-c", "ls -alh " + fileDir).Output() if err != nil { panic("cmd error") } log.Print
阅读全文
摘要:以上错误出现在给 map 变量赋值的时候。 例如: type AbMap map[string]string var abMap AbMap abMap['a'] = 'b' 使用 map 变量需要使用 make 初始化,然后才能赋值。 type AbMap map[string]string ab
阅读全文
摘要:Golang 和 JS 的字符串截取都可以利用索引定位的方式。 Golang: str := "abcdef" sub := str[1: 2] JS: const str = 'abcdef' const sub = str.substring(1, 2) Link:https://www.cnb
阅读全文
摘要:s := append([]int{1, 2}, []int{3, 4}...) Tool:在线Golang代码运行 Cool:在线 AI 编程助手 https://stackoverflow.com/questions/16248241/concatenate-two-slices-in-go L
阅读全文
摘要:Golang 中这个错误的的意思是赋值变量的数目不匹配。 举例: result := json.Marshal(List) 由于没有给返回值中的 error 正确赋值,就会报 assignment count mismatch 1 = 2 正确写法: result, _ := json.Marsha
阅读全文
摘要:timestamp := int64(1591271169) # 12小时制 time.Unix(timestamp, 0).Format("2006-01-02 03:04:05") # 24小时制 time.Unix(timestamp, 0).Format("2006-01-02 15:04:
阅读全文
摘要:要做到这一点,使用的是交叉编译选项。 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go CGO_ENABLED=0 GOOS=
阅读全文
摘要:第一种 是去除不需要的调试信息: go build -ldflags "-s -w" main.go 实测 19M 减小为 15M,幅度 2% 第二种 压缩 UPX: the Ultimate Packer for eXecutables 第三种 更新至 go1.15 版本,See here. Re
阅读全文
摘要:以下为局部伪代码,仅供参考: var allowOrigin string allowOrigins := config.AppConf.Get("middleware.cors.allowOrigins").(string) if strings.Contains(allowOrigins, "*
阅读全文
摘要:遇到这种情况,要知道证明访问并未到达指定的服务地址。 可能原因有未启动、端口占用 等等,请逐一排查。 Tool:ChatAI Refer:Proxy_Error Link:https://www.cnblogs.com/farwish/p/12966391.html
阅读全文
摘要:httprouter 是 Gin framework 使用的路由组件。 要对 OPTIONS 请求自动响应,比如支持 CORS 请求或者设置请求头,可用 Router.GlobalOPTIONS。 router.GlobalOPTIONS = http.HandlerFunc(func(w http
阅读全文
摘要:结构体成员加了第三个位置的标签,在转换指定类型时,key 会使用指定的名字。 package main import ( "encoding/json" "log" ) type Person struct { Age int FirstName string LastName string `js
阅读全文
摘要:举个例子:以下 FutureKline 这个结构体 包含了 Kline 结构体的指针,为什么不直接是 Kline 结构体。 type Kline struct { Pair CurrencyPair Low float64 Vol float64 } type FutureKline struct
阅读全文