go语言安装快速入门

[TOC] go语言是什么 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区 如何安装 环境 笔者这里是用windows做的演示 windows 10 下载 http...阅读全文

简书 2020-10-18 11:32:39 吉祥鸟hu

golang之ElasticSearch

ES是面向文档型数据库1. 9200和9300端口的区别9200端口:ES节点之间通讯使用,是TCP协议端口号,ES集群之间通讯端口号。9300端口:ES节点和外部通讯使用,暴露ES RESTful 接口端口号2.ElasticSearch倒排索引原理有倒排索引就一定有倒排索引。先解释一下正排索引。举个例子,比如有5个文档,每个文档里面记录了一句话,如果我想查某句话里面的某个关键词,我就需要在每个文档里都要对这个关键词进行查询。显然,效率比较低。那么倒排索引与之的区别又是什么呢:它会把每个关键词...阅读全文

简书 2020-10-18 04:32:38 呆临

Golang标准库——plugin

plugin plugin包实现Go插件的加载和符号解析。 目前,plugin仅在Linux上有效。 plugin是Go主程序包,具有导出的函数和变量,这些函数和变量已使用以下命令构建: go build -buildmode=plugin 首次打开插件时,将调用尚未包含在程序中的所有软件包的init函数。 主要功能未运行。 插件仅初始化一次,无法关闭。 type Plugin type Plugin struct { pluginpath string err string // set if...阅读全文

简书 2020-10-18 04:32:38 DevilRoshan

Golang标准库——reflect

reflect reflect包实现了运行时反射,允许程序操作任意类型的对象。典型用法是用静态类型interface{}保存一个值,通过调用TypeOf获取其动态类型信息,该函数返回一个Type类型值。调用ValueOf函数返回一个Value类型值,该值代表运行时的数据。Zero接受一个Type类型参数并返回一个代表该类型零值的Value类型值。 参见"The Laws of Reflection"获取go反射的介绍:http://golang.org/doc/articles/laws_of_...阅读全文

简书 2020-10-18 04:32:38 DevilRoshan

一、 初识Golang

介绍Go(Golang) 是谷歌开发的一种 静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。我们为什么要学习Go?其实我觉得是因为公司发展越来越快的一个必然趋势,随着发展,很多东西是nodejs不一定能很好的支持。我们需要后端多样化,以在未来某个时段我们能有更大的能力去面对未知的事务。Golang 的Hello World还记得以前学习C语言的时候,老师都是从Hello World开始讲起,今天我们也是从这里开始我们的Golang之旅。package main import "fmt"...阅读全文

Segmentfault 2020-10-21 14:32:33 pengdafu

几种缓存更新的设计方法,值得一看

前言Hello,everybody,我是asong,上一篇文章我们一起聊一聊了面试中几个常见的缓存问题,今天我依然聊一聊缓存,不过今天我们聊的不是面试了,我们一起来看一看我们在系统中缓存更新的设计,因自己经验有限,所以这些缓存设计来源于网上,我只是在这里总结一下,有什么不对的欢迎指出~~~????。缓存预热 To solve 缓存冷启动在上一篇文章中[常见面试题之缓存雪崩、缓存穿透、缓存击穿],忘记讲了一个概念——缓存预热,所以在这篇文章补充一下,开一个好头,预热嘛~~~。什么是缓存预热呢?我们...阅读全文

Segmentfault 2020-10-21 14:32:34 asong

金九银十:一年前端的面试分享

背景 2019 年,笔者毕业以后通过社招群面进入了一家深圳的教育公司,今年 7 月底的时候离职,满打满算刚好一年经验吧,最近刚好也拿到了不错的offer,群里的同学也叫我写写面经参考下,???? 那就总结下吧劣势与优势 7 月底笔者很大胆的裸辞了,现在想想也是很后怕,因为仔细盘算下来,几乎都是劣势项,而且社招招人都是3年起步,最低也是2年,也不知道当时自己哪里来的勇气,很武断的裸辞了,所以离职原因可以总结为:脑子进水了劣势下面我来盘算下我的劣势,深刻认识自己的处境 渣本毕业,学历一般 中文系出身...阅读全文

简书 2020-10-17 16:32:47 前端壹栈

Golang领域模型-CQRS

前言: CQRS一词随着DDD一同被大众所熟悉,但是你有没有想过CQRS一词其实并非DDD独有,非DDD设计项目也能用,或许你正在用,但你不知道而已。本文介绍了一下CQRS是什么,在DDD中的作用,以及在项目中使用CQRS的好处。 一、什么是CQRS? 先从概念开始,CQRS即Command Query Responsibility Segregation的缩写,译成中文就是“命令与查询职责分离”。 顾名思义在我们写CRUD代码的时候,其实是有可分为两类操作,一类是query(查询),一类是co...阅读全文

简书 2020-10-17 15:32:38 奔奔奔跑

【go语言学习】标准库之template

一、模板和模板引擎 在基于MVC的web架构中,我们常常将不变的部分提出成为模板,可变部分通过后端程序提供数据,借助模板引擎渲染来生成动态网页。 模板可以理解为事先定义好的HTML文档文件,模板渲染的作用机制可以简单理解为文本替换操作—使用相应的数据去替换HTML文档中事先准备好的标记。 模板的诞生是为了将显示与数据分离(即前后端分离),模板技术多种多样,但其本质是将模板文件和数据通过模板引擎生成最终的HTML代码。 模板引擎很多,Python的jinja,nodejs的jade等都很好。 二、...阅读全文

简书 2020-10-17 12:32:38 Every_dawn

【Go从学会到学废】(二) Hello World

1、新建Hello.go package main import "fmt" func main() { fmt.Println("Hello World") } 2、运行 你可以输入 go run Hello.go直接运行 image-20201014222035496 也可以先编译 go build Hello.go在运行 image-20201014222145101 3、解释 1.package main 文件包名,指明文件所处的包位置,默认设置为该文件所处的文件夹名字。如文件test....阅读全文

简书 2020-10-17 12:32:38 WhoCan

【Go从学会到学废】(三) 变量和常量

Go声明变量方法: Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。 声明变量的一般形式是使用 var 关键字: 第一种声明变量方法: 用 var identifier type声明变量 也可以用 var identifier1,identifier2,identifier3 type声明多个变量 声明时是可以直接初始化的,不初始化默认零值 var s0 string s0 = "Hello" var s1 string = "Hello" var s2, s3 string ...阅读全文

简书 2020-10-17 12:32:37 WhoCan

带你快速了解:限流中的漏桶和令牌桶算法

在前文 《限流熔断是什么,怎么做,不做行不行?》中针对 “限流” 动作,有提到流量控制其内部对应着两种常用的限流算法,分别是漏桶算法和令牌桶算法。因此会有的读者会好奇,这都是些啥?为了更进一步的了解 WHY,本文来快速探索一下,看看限流下的一些 “算法” 们到底有何作用,是为何成为流量控制的基石的?前言理论上每一个对外/内提供功能的资源点,都需要进行一定的流量控制,否则在业务的持续迭代中,是有可能出现突发性流量的场景(就像年初所带来的一些行业突发转变,导致业务流量突然暴增):若没有进行限流,就会...阅读全文

Segmentfault 2020-10-21 14:32:33 煎鱼

2020-10-17

“安可“背景下的中国软件开发 在中美当前背景下的安全可靠国产系统(简称安可),安可产业要实现技术自主可控,需要在四个层面逐步实现:基础硬件设施,如芯片、服务器、存储、交换机、路由器;底层软件,包括操作系统、数据库、中间件等;应用软件,面向实际应用的不同领域;安全产品,保障边界安全、终端安全和管理安全产品。目前在安可领域,高端芯片服务器等硬件已能基本满足办公需求;基础软件正在实现国产化替代。而在国产系统下,应用生态便显得匮乏了。 实现应用软件从普通环境到安可操作系统环境的平滑过渡,是丰富国产应用生...阅读全文

简书 2020-10-17 08:32:37 zoomlaCMS

有随机指针的单链表的复制

一个单链表,每一个节点除了会指向下一个节点之外,还有一个随机指针,随机的指向该链表本节点之外的另一个节点比如 1------>2------>3------>4------nil然后随机指针1------>32------>43------>24------>1复制逻辑第一步 先在原始链表每一个节点后面创建一个取值跟其一样的节点让链表变成这样1--->1'--->2--->2'--->3--->3'--->4--->4'---nil第二步 在完成了第一步之后分析发现比如想让1‘的随机指向的是3’...阅读全文

Segmentfault 2020-10-21 13:32:33 润雨冰雪

Golang标准库——os

os os包提供了操作系统函数的不依赖平台的接口。设计为Unix风格的,虽然错误处理是go风格的;失败的调用会返回错误值而非错误码。通常错误值里包含更多信息。例如,如果某个使用一个文件名的调用(如Open、Stat)失败了,打印错误时会包含该文件名,错误类型将为*PathError,其内部可以解包获得更多信息。 os包的接口规定为在所有操作系统中都是一致的。非公用的属性可以从操作系统特定的syscall包获取。 下面是一个简单的例子,打开一个文件并从中读取一些数据:func New func N...阅读全文

简书 2020-10-17 01:33:08 DevilRoshan

Golang标准库——path

path path实现了对斜杠分隔的路径的实用操作函数。 Variables var ErrBadPattern = errors.New("syntax error in pattern") ErrBadPattern表示一个glob模式匹配字符串的格式错误。 func IsAbs func IsAbs(path string) bool IsAbs返回路径是否是一个绝对路径。 func Split func Split(path string) (dir, file string) Spli...阅读全文

简书 2020-10-17 01:33:07 DevilRoshan

Go 语言笔试面试题汇总

基础语法01 = 和 := 的区别?02 指针的作用03 Go 允许多个返回值吗?04 Go 有异常类型吗?05 什么是协程(Goroutine)06 如何高效地拼接字符串07 什么是 rune 类型08 如何判断 map 中是否包含某个 key ?09 Go 支持默认参数或可选参数吗?10 defer 的执行顺序11 如何交换 2 个变量的值?12 Go 语言 tag 的用处?13 如何判断 2 个字符串切片(slice) 是相等的?14 字符串打印时,%v 和 %+v 的区别15 Go 语言...阅读全文

Segmentfault 2020-10-21 13:32:33 极客兔兔

7天用Go动手写/从零实现RPC框架GeeRPC

0 目录第一天 - 服务端与消息编码 | Code第二天 - 支持并发与异步的客户端 | Code第三天 - 服务注册(service register) | Code第四天 - 超时处理(timeout) | Code第五天 - 支持HTTP协议 | Code第六天 - 负载均衡(load balance) | Code第七天 - 服务发现与注册中心(registry) | Code1 谈谈 RPC 框架RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,允...阅读全文

Segmentfault 2020-10-21 11:32:33 极客兔兔

Trie树(字典树、前缀树......)

前言: 由于网上对Trie树的定义有更全面的讲解,这里不展开详细描述。 这里采用c#与golang语言实现。 特点: 根节点不包含字符,除根节点外的每一个子节点都包含一个字符。 从根节点到某一节点。路径上经过的字符连接起来,就是该节点对应的字符串。 每个节点的所有子节点包含的字符都不相同。 优缺点:空间换时间。 使用场景 字符串查找,词频统计,智能提示,敏感词过滤等。这里采用go和c#实现查找 字符串查找 GO版 type Node struct { Val rune Depth int Cou...阅读全文

简书 2020-10-16 18:33:08 Aries海韵琳風