Go 问答

go get 如何拉取私有仓库

go get 如何拉取私有仓库 地址:https://stackoverflow.com/questions/27500861/whats-the-proper-way-to-go-get-a-private-repository 标签:Go 译注:这个问题有不少有趣的回答,有些方案我还没有尝试,可以抽时间都研究下。 详情描述 我正在查找 go get 如何拉取私有仓库,在经过一番 google 之后,尝试了很多方法。

gin 路由设置出现冲突

关于go框架gin的静态托管和api同时使用报错的问题 地址:https://segmentfault.com/q/1010000020593317/a-1020000020596003 标签:Go 详情描述 代码截图和注释,使用了静态/就不能用接口了,我百度了很久找不到原因。 package main import "github.com/gin-gonic/gin" func main() { router := gin.

gomod 怎么引用同项目下的子目录

go mod怎么引用同一个项目下面的子目录 标签:Go 地址:https://segmentfault.com/q/1010000020590559?utm_source=tag-newest 具体详情 怎么在go的子路吗下面引用子包下面的函数 我引用子包出现了 build command-line-arguments: cannot load blog/controller/home: malformed module path "blog/controller/home": missing dot in first path element

为什么环境变量不能是数组

如何获取到一个切片类型的环境变量? 标签:Go 地址:https://stackoverflow.com/questions/58191251/getting-a-slice-as-an-environment-variable 详情描述 我的一个需求,要将 bash 脚本转为 Go 编写。在 Bash 中,我从 env 环境变量中读取一个数组。

Go 中 atomic Load 源码疑惑

Golang atomic Load 函数源码的实现疑惑? 标签:Go 地址:https://www.zhihu.com/question/348434761 详情描述 最近在研究 Golang 中 atomic 的源码实现,很疑惑的一点是 atomic 在 amd64 下的 Load 函数,Golang 中的 atomic 实际上拥有 SC 级别的内存模型,在 Store 中使用了 Lock XADDL 等指令,比较好理解,但是 Load 函数中仅仅是简单的返回了值,并没有加任何的内存屏障,那么 Load 是如何保障 SC 级别的呢?

一文理清 Go 引用的常见疑惑

今天,尝试谈下 Go 中的引用。 之所以要谈它,一方面是之前的我也有些概念混乱,想梳理下,另一方面是因为很多人对引用都有疑问。我经常会看到与引用有关的问题。 比如,什么是引用?引用和指针有什么区别?Go 中有引用类型吗?什么是值传递?址传递?引用传递? 在开始谈论之前,我已经感觉到这必定是一个非常头疼的话题。这或许就是学了那么多语言,但没有深入总结,从而导致的思维混乱。 前言 我的理解是,要彻底搞懂引用,得从类型和传递两个角度分别进行思考。

Go 中 Slice 的 In 实现探索

之前在知乎看到一个问题:为什么 Golang 没有像 Python 中 in 一样的功能?于是,搜了下这个问题,发现还是有不少人有这样的疑问。 今天来谈谈这个话题。 in 是一个很常用的功能,有些语言中可能也称为 contains,虽然不同语言的表示不同,但基本都是有的。不过可惜的是,Go 却没有,它即没有提供类似 Python 操作符 in,也没有像其他语言那样提供这样的标准库函数,如 PHP 中 in_array。

如何阅读 Go 源码

Go 的源码在安装包的 src/ 目录下。怎么看它的源码呢?直接看吧!没人教的情况下,只能自己撸了。当然,这种内容一般也不会有人教。 怎么撸? Go 源码中,应该可分为与语言息息相关的部分,和官方提供的标准库。与语言实现相关的肯定是最难的,不是那么容易理解。可以先主要看标准库,其他的可以先大概了解下。 先把源码目录整体扫一遍,大概看看涉及了哪些模块,然后再挑自己喜欢的部分进行更深一步的学习与研究。建议每个目录都简单写个 hello world,如此的体悟会更深。如果连 hello world 也写不出来,这个模块的源码暂时就没必要研究了,先学好基础吧。毕竟,包的使用不仅与语言相关,还涉及具体场景和实现原理,这都是要学习的。