Go 语言安装、配置【Window】

一、下载 官网 https://golang.org/dl/ 【官网需要翻墙】 国内 https://studygolang.com/dl 【根据自己电脑下载对应的版本】 二、安装配置 Windows系统下,如果下载的是安装版,直接安装【Windo10会自动添加到环境变量中】 解压缩版的需要手动配置环境变量,配置方法: 【计算机】->【属性】->【高级系统设置】->【属性】->【环境变量】 配置GOROOT路径 【打开系统属性:系统变量–新建】 配置Path路径 【编辑系统变量–path】 配置...阅读全文

简书 2020-04-07 15:32:45 微导图

ETCD原理和基本实现

什么是 ETCD 官方定义为:Distributed reliable key-value store for the most critical data of a distributed system 简单直直译对就是:分布式系统中最关键的数据进行可靠的键值存储 ETCD 名字含义 /etc 是linux 操作系统的配置存储目录, d durtubute 分布式缩写,简单理解为分布式配置数据库。 ETCD 特性和应用场景 ETCD主要为了存储系统关键配置数据,配置数据很少修改,符合读多写少特...阅读全文

简书 2020-04-07 15:32:43 王司技术谈

Go语言基础 - 变量与常量

一、标识符 标识符是程序员定义的具有特定含义名词,如常量名、变量名和函数名等等 Go语言的标识符组成成分:字母、数字和下划线_,并且只能以字母和_开头,如ab3,_ab3 二、关键字 Go语言中预先定义好的25个关键字: break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for imp...阅读全文

Segmentfault 2020-04-07 15:32:42 不留烦

数据结构和算法(Golang实现)(1)简单入门Golang-前言

数据结构和算法在计算机科学里,有非常重要的地位。此系列文章尝试使用 Golang 编程语言来实现各种数据结构和算法,并且适当进行算法分析。 我们会先简单学习一下Golang,然后进入计算机程序世界的第一个大门。 系列文章首发于:https://goa.lenggirl.com。 简单入门Golang 我们只学Golang语言的一个子集,足以开展接下来数据结构和算法的实现即可。 一、前言 Golang语言是谷歌Google公司在2007年启动,并在2009年正式发布并开源的高级编程语言。开源地址:...阅读全文

Segmentfault 2020-04-07 15:32:42 陈星星

一个跨专业在寻找工作机会的毕业生的内心独白

或许很多人也像我一样,迷迷糊糊的选了一个后来才发现不是自己喜欢的专业。选专业的时候,我自己也百度了各种专业,不过依然没什么感觉。其实一开始是自己想填选物联网的,但最后还是听从了身边的人的建议,选了电气自动化,就这样开始了大学生涯。 只可惜,到大二开始学专业课的时候发现,自己压根就没兴趣,基本靠死记硬背迎接考试。(幸好成绩也不差,学业证顺利到手。) 然而自己也清楚,不找到真正想走的路,以后就要从事自己不感兴趣的工作,这样的职业生涯并不是我想要的。(我想,这可能也是很多大学生思考过的问题——自己到底...阅读全文

Segmentfault 2020-04-07 15:32:42 DX3906

为什么要用Go语言?

本文章创作于2020年4月,大约6000字,预计阅读时间15分钟,请坐和放宽。 前言 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易[1]。Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。对于高性能分布式系统领域而言,Go语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了[1]。 其实早在2018年前,我就已经有在国内的程序员环境中断断续续地听到Go语言的消息,Go语...阅读全文

Segmentfault 2020-04-07 15:32:41 Yumiku

树莓派又立功了!这个开源项目助你告别电销骚扰

面对越来越多的骚扰电话,已经有很多手机厂商推出了应对的应用,自动拦截或智能接听打来的骚扰电话。今天这位 Gitee 上的开发者发挥了自己的智慧,使用万能的树莓派自己制作了一个智能反骚扰的开源项目。 项目名称:QiarAI 项目作者:iQiar 使用语言:Go + Vue 项目简介 这是一个软硬件结合的开源项目,如果是普通使用者,需要有初级的硬件动手能力(比如接电源网线,插个板子总得会)。 初版主要针对手机自带的呼叫转移功能,您可以将手机设置白名单策略,将所有陌生电话呼叫转移到AI接听。 可全程使...阅读全文

Segmentfault 2020-04-07 12:32:41 Gitee

(网络学习)7、Golang项目前后端建立实例、http请求小结

课程: Vlog原型系统开发:https://www.imooc.com/learn/1131 1、环境初始化 需求: 在本地非`$GOPATH/src`位置、建立一个不发布的项目。 a.ide编译运行 mkdir /home/wwwroot/golang/wx_shop cd /home/wwwroot/golang/wx_shop go mod init wx_shop //本机(deepin虚拟机)环境,pyenv已安装: 在goland内置命令行go env查看时,末尾出现“bash: ...阅读全文

Segmentfault 2020-04-07 15:32:40 沧浪水

【译】Go 语言项目源码贡献官方指导文档

以前给 Go 语言项目源码提交过一些 commits,期间阅读他们的官方指导文档的时候觉得这篇指导文档可以作为绝佳的关于大型软件项目的规范管理的参考,因为最近又提交了几个 commits,就又把这篇文档再看了一遍,有感于 Go 团队在项目管理和工程实践上的一些宝贵经验,就把文档翻译成了中文;一来为了更加深入地理解 Go 语言团队的项目工程最佳实践,二来则是为了给其他有意给 Go 语言源码提交贡献的开发者提供一点参考。 导言 Go 语言项目欢迎所有的代码贡献者。 这是一份指导你完成向 Go 语言项...阅读全文

Segmentfault 2020-04-07 15:32:40 panjf2000

最快的 Go 网络框架 gnet 来啦!

gnet 是什么? gnet 是一个基于事件驱动的高性能且轻量级的网络框架。它直接使用 epoll 和 kqueue 系统调用而非标准 Golang 网络包:net 来构建网络应用,它的工作原理类似两个开源的网络库:netty 和 libuv。 gnet 设计开发的初衷不是为了取代 Go 的标准网络库:net,而是为了创造出一个类似于 Redis、Haproxy 能高效处理网络包的 Go 语言网络服务器框架。 gnet 的亮点在于它是一个高性能、轻量级、非阻塞的纯 Go 实现的传输层(TCP/U...阅读全文

Segmentfault 2020-04-07 15:32:39 panjf2000

Gin框架系列01:极速上手

Gin是什么? Gin是Go语言编写的web框架,具备中间件、崩溃处理、JSON验证、内置渲染等多种功能。 准备工作 本系列演示所有代码都在Github中,感兴趣的同学可以自行查阅,欢迎大家一起完善。 https://github.com/pingyeaa/golang-examples/tree/master/gin复制代码 没有安装配置Go语言环境的同学请先自行安装,这里不再赘述。首先,我们来创建工作目录gin。 mkdir gin && cd gin复制代码 然后用go mod命令初始化项...阅读全文

掘金 2020年04月06日 平也

Go语言库系列之email

导读 大家好我是平也,今天跟大家介绍一款用来发送邮件的Go语言库email,目前星星1.3k,非常好用。 极速上手 准备工作 初始化项目 go get github.com/jordan-wright/email复制代码 本示例项目结构 . ├── go.mod ├── go.sum └── main.go复制代码 开启邮箱SMTP服务,以163邮箱为例,需要先登录到邮箱后台点击开启按钮,在发送完短信之后,会获取到一个授权码,将授权码保存,后面需要用到。 代码示例 首先配置好邮件内容 e := ...阅读全文

掘金 2020年04月06日 平也

设计模式之策略模式

策略模式 一个父类,有多个子类(出现了继承),需要添加一个是共有行为方法,但是并不是每个子类的实现都是同样的,且 有一部分是同样的。这种情况下如果使用继承的方式,有如下两种方法 方法的实现放在父类中,那么对于有些子类(与父类的实现不一致),就需要 override 父类方法。 这种方法的缺点是,有的子类需要 override 父类方法,而且有哪些子类漏掉了,编译无法发现,会出问题,不符合面向对象思想。 抽象方法放在父类中,让各个子类去实现。 编译器可以发现错误,不会存在漏掉的场景,但是每个子类都...阅读全文

简书 2020-04-07 00:32:42 上海大坤哥

fuckdb Lite, 帮助你更快地生成go struct代码

前言&背景 在golang的开发过程中,当我们使用orm的时候,常常需要将数据库表对应到golang的一个struct,这些struct会携带orm对应的tag,就像下面的struct定义一样: type InsInfo struct { Connections string `gorm:"column:connections"` CPU int `gorm:"column:cpu"` CreateTime time.Time `gorm:"column:create_time"` Env in...阅读全文

掘金 2020年04月06日 hantmac

Go 每日一库之 gopsutil

简介 gopsutil是 Python 工具库psutil 的 Golang 移植版,可以帮助我们方便地获取各种系统和硬件信息。gopsutil为我们屏蔽了各个系统之间的差异,具有非常强悍的可移植性。有了gopsutil,我们不再需要针对不同的系统使用syscall调用对应的系统方法。更棒的是gopsutil的实现中没有任何cgo的代码,使得交叉编译成为可能。 快速使用 先安装: $ go get github.com/shirou/gopsutil 复制代码由于gopsutil库用到了gola...阅读全文

掘金 2020年04月06日 darjun

Go 每日一库之 gopsutil

简介 gopsutil是 Python 工具库psutil 的 Golang 移植版,可以帮助我们方便地获取各种系统和硬件信息。gopsutil为我们屏蔽了各个系统之间的差异,具有非常强悍的可移植性。有了gopsutil,我们不再需要针对不同的系统使用syscall调用对应的系统方法。更棒的是gopsutil的实现中没有任何cgo的代码,使得交叉编译成为可能。 快速使用 先安装: $ go get github.com/shirou/gopsutil 由于gopsutil库用到了golang.o...阅读全文

Segmentfault 2020-04-07 15:32:39 darjun

Hyperledger Fabric1.4.3 安装

目录 1. 安装依赖工具 1.1 安装 git 1.2 安装 curl 1.3 安装 docker 1.4 安装 docker-compose 1.5 安装 Golang 获取 fabric 源码 获取 fabric-samples 源码 3.1 配置 docker 镜像地址 3.2 获取Fabric依赖 3.3 设置环境变量 创建和管理网络 4.1 创建网络 4.2 启动网络 4.3 关闭网络 1 安装依赖工具 1.1 安装 git [root@localhost opt]# yum inst...阅读全文

简书 2020-04-06 21:32:57 布衣老歪

go mod 使用

简介 go 1.11以后提供了新的管理依赖的方式, 使得管理依赖,尤其是依赖版本更加的明确且易于管理, 这种方式就是go mod 在项目的根目录有个go.mod的文件, 文件的内容是所有依赖的go package的集合, 以文件树的形式存在. 文件中中明确的说明了go所有依赖的路径及版本 配置 # 这三个路径一直存在 export GOPATH=$HOME/go export GOROOT=/usr/local/go export GOBIN=$GOPATH/bin # 支持 go mod 需要...阅读全文

简书 2020-04-06 21:32:56 allenhaozi