go build、go install、go get命令详解
(内容凌乱,日后整理!)
原文链接:https://blog.csdn.net/zhangliangzi/article/details/77914943
GO下载:
GO语言中文网下载:https://studygolang.com/dlMac下直接通过brew instatll go指令即可完成下载安装
GO环境变量配置:$GOROOT=/usr/local/go & ...
Go 语言优秀资源整理,为项目落地加速🏃
最后更新于2019.11.22
Go 语言优秀资源整理,为项目落地加速🏃
在 GitHub 上稳定更新,觉得不错请点个 Star ❤️
如转载分享,请保留出处,谢谢 😆
原文地址: https://shockerli.net/post/go-awesome
GitHub: https://github.com/shockerli/go-awesome
官网: https://golang.org
国内官网镜像(访问快~): https://golang ...
【gin-vue-admin】 使用go和vue 快速搭建一个项目模板
gin-vue-admin gin+vue开源快速项目模板
项目地址:https://github.com/piexlmax/gin-vue-admin
增加了 micro-service-test分支 提供了微服务解决方案 个人摸索 仅供参考
本模板使用前端ui框架为 element-ui https://element.eleme.cn/#/zh-CN 前端组件可查看elementUi文档使用
写在前面
本项目主要是小弟在接各种 ...
Kubernetes Client-go使用
1. 获取 Clientset
// GetClientSet get client set
func GetClientSet() (cclientset *kubernetes.Clientset, err error) {
if gClientset != nil {
return gClientset, nil
}
var kubeconfig *string
var clientset *kubernetes.Clientset
if home := homedir.HomeDir(); home != "" {
kubeconfig = flag.Stri ...
go中通道channel的使用及原理
1. channel的使用
channel,通道。golang中用于数据传递的一种数据结构。是golang中一种传递数据的方式,也可用作事件通知。
1.1 声明、传值、关闭
使用chan关键字声明一个通道,在使用前必须先创建,操作符 <- 用于指定通道的方向,发送或接收。如果未指定方向,则为双向通道。
1 //声明和创建
2 var ...
Go语言Hello world(GOPATH和Go Module版)
本文是「vangoleo的Go语言学习笔记」系列文章之一。
官网: http://www.vangoleo.com/go/go-hello-world-02/
往期回顾:
Go语言入门-你好,Go语言
Go语言入门-Hello World(Go Playground版)
上一篇文章Go语言入门:Hello world中,我们在Golang Playground中体验了Go语言,编写并运行了一个简单的Hello World,相信大家对 ...
Fabric1.4:Go 链码开发与编写
链码结构
链码接口
链码启动必须通过调用 shim 包中的 Start 函数,传递一个类型为 Chaincode 的参数,该参数是一个接口类型,有两个重要的函数 Init 与 Invoke 。
type Chaincode interface {
Init(stub ChaincodeStubInterface) peer.Response
Invoke(stub ChaincodeStubInterface) peer.Response
}
Init:在链 ...
go中的数据结构-字典map的使用及原理
1. map的使用
golang中的map是一种数据类型,将键与值绑定到一起,底层是用哈希表实现的,可以快速的通过键找到对应的值。
类型表示:map[keyType][valueType] key一定要是可比较的类型(可以理解为支持==的操作),value可以是任意类型。
初始化:map只能使用make来初始化,声明的时候默认为一个为nil的m ...
go -- go 程序 启动docker容器
package main
import (
"io"
"log"
"os"
"time"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/mount"
"github.com/docker/docker/client"
"github.com/docker/go-connections/nat"
"golang.org/ ...
深度解密Go语言之 pprof
目录什么是 pprofpprof 的作用pprof 如何使用runtime/pprofnet/http/pprofpprof 进阶Russ Cox 实战查找内存泄露总结参考资料
相信很多人都听过“雷神 3”关于性能优化的故事。在一个 3D 游戏引擎的源码里,John Carmack 将 1/sqrt(x) 这个函数的执行效率优化到了极致。
一般我们使用二分法,或者牛顿迭代法计算一个浮点数的 ...
Go服务监控
使用Golang可以开发出高性能的HTTP、GRPC服务。一般项目运行后,我们也需要监控服务的性能或者进行调试。除了打日志,还有没有其他可视化的方案呢?答案是有的。
本文将会介绍几种常用的监控方案。
pprof
这个是go语言自带的。启用很简单:
_ "net/http/pprof"
仅需显式的在 main 包的 import 里增加上面一行即可。完整使 ...
[系列] Go gRPC 调试工具
目录概述写一个 gRPC API启动服务grpcui 使用安装运行go-gin-api 系列文章
概述
最近这段时间工作挺忙的,发现已经 3 周没更文了...
感谢你们还在,今天给大家分享一款 gRPC 的调试工具。
进入正题。
当我们在写 HTTP 接口的时候,使用的是 Postman 进行接口调试,那么在写 gRPC 接口的时候,有没有类似于 Postman 的调试工 ...
Go Select使用
Go Select使用
Go中的select和channel配合使用,通过select可以监听多个channel的I/O读写事件,当 IO操作发生时,触发相应的动作。
基本用法
//select基本用法
select {
case <- chan1:
// 如果chan1成功读到数据,则进行该case处理语句
case chan2 <- 1:
// 如果成功向chan2写入数据,则进行该case处理语句
default ...
关于go mod 的使用和goland 配置 go mod
一、关于go modules
1.1 go modules 是go1.11 新加的特性
现在已有go 1.13.4 了本人用了就是最新版的
1.2关于modules 官方定义
模块是相关Go包的集合。modules是源代码交换和版本控制的单元。 go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些 ...
Go 交叉编译
前言
什么是交叉编译?
交叉编译指在某个平台编译另一平台能使用的文件
本文列出交叉编译的命令, 全程干货, 不多BB
正文
本文参考官方文档
https://golang.google.cn/doc/install/source#introduction
https://golang.google.cn/doc/install/source#environment
一条基本的编译命令结构如下(mac/linux)
GOOS=linux GOARCH=a ...
go module 基本使用
前言
go的版本以至1.13,一直以来令人诟病的依赖管理也有了官方的方向,但是看了一下目前很多blog文章还是比较老的.
所以这里对 go mod 做一个大致的说明
正文
前提
go版本为1.13及以上
官方文档
如果你想更深层次的了解GO MODULE的意义及开发者们的顾虑,可以直接访问官方文档(EN)
https://github.com/golang/go/wiki/Module ...
图解Go协程调度原理,小白都能理解
阅读本文仅需五分钟,golang协程调度原理,小白也能看懂,超实用。
什么是协程
对于进程、线程,都是有内核进行调度,有CPU时间片的概念,进行抢占式调度。协程,又称微线程,纤程。英文名Coroutine。协程的调用有点类似子程序,如程序A调用了子程序B,子程序B调用了子程序C,当子程序C结束了返回子程序B继续执行之后的逻辑 ...
Go语言入门:Hello world
本文是「vangoleo的Go语言学习笔记」系列文章之一。
官网: http://www.vangoleo.com/go/go-hello-world/
在上一篇文章你好,Go语言中,我们对Go语言的历史和特点有了认识。接下来,我们就正式进入Go的学习了。
按照大部分编程语言的惯例,我们以经典的“Hello World”开始Go语言的学习之旅。
经典的“Hello World”案例 ...
go map数据结构和源码详解
目录1. 前言2. go map的数据结构2.1 核心结体体2.2 数据结构图3. go map的常用操作3.1 创建3.2 插入或更新3.3 删除3.4 查找3.5 range迭代3.5.1 初始化迭代器mapiterinit()3.5.2 迭代过程mapiternext()4. go map的扩容缩容4.1 扩容缩容的基本原理4.2 为什么叫“伪缩容”?如何实现“真缩容”?5 Q&A关键知识点5.1 基本原理5. ...
IntelliJ IDEA 搭建 Go 开发环境
本文介绍 Windows7 x64 基于 IntelliJ IDEA 搭建 Go 语言开发环境。主要是一些操作过程截图以及简单文字描述,如有不清楚的地方,欢迎指正。所有软件使用当前(2016.12.02)最新版本,旧版或新版可能存在细微差异。
一、网络代理软件 cntlm
从 这里 下载最新 0.92.3 版本 cntlm。cntlm 作用是方便在 Windows 下执行 go ge ...