跳转至

golang

golang源码生成文档及注释语法

go version: 1.22.6

godoc

已弃用godoc 无法选择要显示的包版本,由 golang.org/x/pkgsite/cmd/pkgsite 替代。

godoc 提取 Go 代码里的注释生成网页的形式的 Go 程序文档

VSCode Remote Development-go开发环境搭建

安装vscode

刚学习go的时候一直使用的vscode开发,轻巧方便。但随着工程代码量增加,本地下载的包越来越多,代码提示和自动补全功能变得越来越慢,就转向了goland神IDE,打开一个工程占用1.5G内存,吓得我赶紧又加了8G内存!!!

正式版的vscode已支持VSCode Remote Development,附上vscode下载地址:Visual Studio Code下载地址

安装完成,安装GO扩展和Remote Development扩展,Remote Development扩展包含了Remote - SSHRemote - ContainersRemote - WSL三个扩展,分别用于通过ssh远程连接、连接docker容器和连接 Windows Subsystem for Linux (WSL)

goroutine并发控制

通信

共享内存
func  Test() {
    ordersInfoApp  :=  make([]orderInfoApp, 0, totalCount)
    var  mux sync.Mutex
    wg  := sync.WaitGroup{}

    for  i  :=  0; i <=  10; i++ {
        wg.Add(1)
        go  func(pageIndex int) {
            // do somethine
            var  ordersInfo orderInfoApp
            mux.Lock()
            ordersInfoApp  =  append(ordersInfoApp, ordersInfo)
            mux.Unlock()

            wg.Done()
        }(i)
    }

    wg.Wait()
}

一般在简单的数据传递下使用

go get添加进度

go get 比较大的包时会很慢, 可能几分钟或更长, 让人误以为卡死了. 修改 go 源码包,让 go get 显示进度。