1. 常用环境变量1.1 GOROOT$GOROOT 是安装 Go 程序包的本地目录。1 2 3 4 cd /c/Go ls AUTHORS CONTRIBUTORS PATENTS VERSION bin favicon.ico misc robots.txt
最近在学习 Go ,而常用的内部 PaaS 平台正好也支持 Go 以及相关 Web 框架。一套 PaaS 系统支持多种语言,其中就离不开 buildpack 机制。虽然 PaaS 平台不断在升级,但是 buildpack 机制却一直保留。本文主要是一些 buildpack 资料的整理和实践。1. P
1. Go 语言产生的背景C/C++ 的发展速度没有跟上计算机发展的脚步,十多年来也没有出现一门与时代相符的主流系统编程语言。为了解决这一问题,Google 开发了一门新的编程语言 – Go 。Google 当时的现状:项目中主要使用C++,也有 Java 和 Python开发人员众多代码量大分布式
1. Go 的数据结构基础类型布尔类型:bool整型:byte、int、int8、int16、uint、uintptr浮点类型:float32、float64复数类型:complex64、complex128字符串:string字符类型:rune错误类型:error复合类型指针:pointer数组:
英文书名: The Way To Go副标题: A Thorough Introduction To The Go Programming Language作者: Ivo Balbaert出版社: iUniverse出版年: 2012-3-8ISBN: 9781469769165Notes:这是一本
1. Go 的包管理机制1.1 GOPATHGOPATH 通过 go get 命令,拉取代码放到 GOPATH 目录中。GOPATH 的问题是:不能进行包版本的管理使用全局仓库,不能有效进行隔离1.2 Vendor1.5 版本开始,Go 中加入了 Vendor 机制。Vendor 解决了 GOPAT
1. 分阶段构建编译项目需要借助一系列特定的工具,但在运行阶段并不需要这些工具。为了减小镜像体积,可以分阶段构建。在第一阶段进行构建,然后将编译生成的文件传入下一个阶段,生成更小体积的镜像。 1 2 3 4 5 6 7 8 9 10 11 FROM golang:1.12 as bu
VS Code 安装 Go 插件之后,打开 Go 项目时,编辑器会提示安装工具包。但是 golang.org 无法直接访问,我们需要将包手动下载到 GOPATH 目录,进行安装。创建包目录1 2 cd $GOPATH mkdir -p src/golang.org/x 下载包1 2 3 cd src
1. Go 中的并发模型1.1 通信模型 CSPCSP 全称 Communicating Sequential Process ,通信顺序进程,描述的是一种并发通信模型。Process 可以使用很多个 Channel ,而 Channel 不关心谁在使用它,只负责收发数据。Go 社区中,有一句非常著
1. 一个令人困惑的问题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 name: Go on: [push, pull_request] jobs: build: name: CI runs-on: ubun
1. 创建一个 Go Modules 项目创建目录1 2 mkdir go-test cd go-test 初始化包1 2 3 4 5 go mod init gitlab.private.com/shaowenchen/go-test go: creating new go.mod: modul
1. 升级 Go 版本之后 go.sum 版本不匹配执行命令 go build 报错。错误提示:missing go.sum entry for module providing package golang.org/x/time/rate; to add 解决办法:在 go build 之前更新
苏菲go是微软surfacego笔记本电脑,许多朋友想要使用它更新win11试一试,但是却不知道这台电脑能否升级win11,根据最低配置来看是可以升级的,不过却有其他的阻碍,下面就一起来看一下吧。 苏菲go能不能升级win11 答:可以。不过我们需要通过其他方法安装。 方法一:
这是在 Go 中逐行打开 CSV 文件的一种非常简单的方法。假设我们有一个pops.csv看起来像这样的 CSV 文件 城市人口拉各斯21000000东京37400000德里28500000里约热内卢13300000 要逐行读取文件, package main import (
Goreleaser很棒。这是一个简单的工具,可以让你发布你的go包。最近,我和我的团队将它与我们构建的公司范围的 CLI 工具一起使用。在本教程中,我们将使用goreleaser自动发布一个简单的go包。 安装 在 macOS 上,要安装goreleaser,我们可以使用: go insta