Go 语言 第一课

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。 Go 语言用途 Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言...阅读全文

简书 2020-03-31 02:32:42 leil_

Go 的基本语法

go 的关键字 下面列举了 Go 代码中会使用到的 25 个关键字或保留字: break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var Go 语言数据类型 1 布尔型 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b b...阅读全文

以图搜图系统概述

以图搜图系统概述 以图搜图指的是根据图像内容搜索出相似内容的图像。 构建一个以图搜图系统需要解决两个最关键的问题:首先,提取图像特征;其次,特征数据搜索引擎,即特征数据构建成数据库并提供相似性搜索的功能。 图像特征表示 介绍三种方式。 图像哈希 图像通过一系列的变换和处理最终得到的一组哈希值称之为图像的哈希值,而中间的变换和处理过程则称之为哈希算法。 图像的哈希值是对这张图像的整体抽象表示。 比如 Average Hash 算法的计算过程: Reduce size : 将原图压缩到 8 x 8 ...阅读全文

首发特性:goproxy.cn 现已推出首个 Go 模块代理统计数据 API

前言 这周很值得纪念,首先是 goproxy.cn 已缓存的模块版本总数突破了一百万,这甚至比起 Go 官方的 proxy.golang.org 已缓存的还要多出不少。其次是 goproxy.cn 的日访问量已稳定在千万级,正在朝着亿级进发,目前这在国内我了解到的别的几个同类服务中是最多的了。另外尤为重要的一点是,经过我们的不懈努力,甚至付出了两次事故的代价(详见:status.goproxy.cn),我们终于使得 goproxy.cn 达到了零错误率!现在的 goproxy.cn 可以说是很稳...阅读全文

掘金 2020年03月30日 煎鱼eddycjy

go-sniffer使用

介绍抓取项目中如:mysql,redis,mongodb,http等,数据库请求或者网络请求,命令行展示。工作中一直用于抓取项目中的数据库sql语句\redis语句等,便于调试。个人推荐用它来抓mysql的请求,可以清晰地看到各种sql语句。支持协议:mysqlredismongodbhttpgithub地址https://github.com/40t/go-sniffer安装过程中遇到的问题1、下载go-sniffer时提示command not foundgo get -v -u githu...阅读全文

简书 2020-03-30 23:33:37 欣赏一切美的代码

VSCode必装Go语言以下插件

VSCode必装Go语言以下插件 VSCode 必须安装以下插件: 首先你必须安装 Golang 插件,然后再给 Go 安装工具包。 在 VS Code 中,使用快捷键:command+shift+P,然后键入:go:install/update tools,将所有 16 个插件都勾选上,然后点击 OK 即开始安装。 Installing 16 tools at /Users/maiyang/develop/goworkspace//bin gocode gopkgs go-outline go...阅读全文

简书 2020-03-30 23:33:30 袁俊亮技术博客

对称加密-DES的原理和实现(Golang源码)

模板引擎对LaTeX支持不太好,可以查看静态页面:链接 个人主页 DES算法 DES的基本构造元件 初始置换(Initial Permutation,IP) 初始置换为64位数组,Golang中采用的初始置换如下所示 // ctypto/des/const.go package des // Used to perform an initial permutation of a 64-bit input block. var initialPermutation = [64]byte{ 6, 1...阅读全文

简书 2020-03-30 23:33:29 Jupiter_Van

Go Strings 源码

模板引擎对LaTeX支持不太好,可以查看静态页面:链接 个人主页 Join Join 方法在字符串拼接的时候使用Builder,通过计算出Builder的大小,只需要分配一次空间。 // Join concatenates the elements of its first argument to create a single string. The separator // string sep is placed between elements in the resulting stri...阅读全文

简书 2020-03-30 23:33:25 Jupiter_Van

浅谈服务可观察性的三个指标

当论及可观察性时,不同的人往往会给予不同的反应。 更多的人会反问:什么是可观察性? 如何定义可观察性? 如果说服务的可观察性不容易定义,那么我们可以换个词来类比: 可视化, 即如何做到服务的可视化? 再讨论服务可视化之前,我们先来看看它的近亲:数据可视化。 每当论及数据可视化时,业界会有一些成熟的可视化模型来供我们落地使用。对这些模型进行抽象以后,我们可以发现,数据可视化的核心在于: 数据。 展现模型 数据,指的是大量的,具备有效业务含义的数据。 这些数据可以是固定的(例如一次请求所产生的数据)...阅读全文

简书 2020-03-30 23:33:24 易企秀工程师

C/C++符号隐藏与依赖管理(四):依赖管理

一个项目中,除了非常底层的软件模块外,大多数模块都需要其它的模块的协助才能完成功能,这需要借助模块之间的依赖管理能力。 依赖管理包含如何控制模块间的最小化依赖,如何发布自己的API,如何获取别人的API,以及如何对依赖关系进行追溯和控制,包括解决冲突。 依赖管理不仅决定了模块间的协作方式,还决定了单一模块能否高效的独立开发、构建和测试,以及能否独立的进行发布。 前文我们总结了每个模块如何做好自己的符号隐藏与头文件设计,那么模块之间的依赖又要如何管理和维护呢? 为了回答这个问题,我们先来审视下不同...阅读全文

简书 2020-03-30 23:33:24 MagicBowen

(双语)Go语言的更新也将难逃疫情影响

Go语言经常被称为“Golang”,是一门高效、易学、受到广泛应用和开发者喜爱的计算机编程语言。一般情况下,Go语言维持着半年发布一次更新的节奏。但是,随着疫情在世界范围内的发展,Go语言的更新也将受到影响。下面,我们就从英语原文来理解一下所受影响的情况,顺便了解一下相关的科技英语词汇。 As we face this pandemic together and do our part to stay home and contain the spread, many of Google's v...阅读全文

从golang到goland:我踩过的坑

前言:因为一些需要,从昨天开始安装GO语言开发环境,以及相应的IDE。从golang到goland,就上手度而言,golang真的不算友好,与python相比,断断续续折腾了两天,期间几次达到j“被劝退的”边缘,不过好在最后还是搭建好了环境。具体情景(成功运行以下Robotgo演示代码) package main //演示Robotgo的部分用法 import ( "fmt" "github.com/go-vgo/robotgo" ) func main() { fmt.Println("hek...阅读全文

简书 2020-03-30 23:33:23 SFDSN

从0开始学架构: 1. 互联网架构演义

架构的终极目标是降本增效。是各方面折中的结果。 本文以互联网软件架构的演进之路为主线,结合案例分析每个阶段架构的适用场景、技术栈和优缺点。 0、架构的本质 架构是对业务场景抽象后,对各方面因素折中后的结果,这些因素包括: 业务复杂度 数据规模大小 团队技术栈/研发能力 时间成本 运维成本 只有对这些因素都妥善折中后,才能达到降本增效的目的。 场景驱动架构不断演进,脱离场景谈架构都是耍流氓。 1、架构演进概述 架构演进 从单体架构演进到微服务架构的精髓用一个字概括:拆。 2、单体架构设计与实践 单...阅读全文

简书 2020-03-30 23:33:18 牧码人爱跑马

首发特性:goproxy.cn 现已推出首个 Go 模块代理统计数据 API

前言 这周很值得纪念,首先是 goproxy.cn 已缓存的模块版本总数突破了一百万,这甚至比起 Go 官方的 proxy.golang.org 已缓存的还要多出不少。其次是 goproxy.cn 的日访问量已稳定在千万级,正在朝着亿级进发,目前这在国内我了解到的别的几个同类服务中是最多的了。另外尤为重要的一点是,经过我们的不懈努力,甚至付出了两次事故的代价(详见:status.goproxy.cn),我们终于使得 goproxy.cn 达到了零错误率!现在的 goproxy.cn 可以说是很稳...阅读全文

Segmentfault 2020-04-02 01:32:34 煎鱼

Go的条件语句「遇到问题该怎么办?先假设、后执行」

IF 条件语句 package main import "fmt" func main() { var A, B int = 520, 1314 if A > B { fmt.Println("A > B") } if A < B { fmt.Println("B < A") } fmt.Println("程序到此运行结束......") } /* 输出: B < A 程序到此运行结束...... */ 复制代码上面我们声明两个 int 变量 A = 520 和 B = 1314 第一个 IF ...阅读全文

掘金 2020年03月30日 陈九礼

【教程】Gin框架的路由快在哪里? - 轩脉刃de刀光剑影

![封面.png](https://static.studygolang.com/200330/12d2270cd9283182c155303587e8ed18.png) https://www.bilibili.com/video/BV1q7411U7qf/ 【教程】Gin框架的路由快在哪里? - 轩脉刃de刀光剑影 轩脉刃de刀光剑影。 1 gin路由的源码解析 2 带你一步步分析 3 同步绘制流程图 流程图关注公众号xuanmairen,回复htt...阅读全文

Go语言中文网 2020-03-30 14:43:58 jianfengye110

Go语言中的fmt.Scan使用说明

在go语言中如果想获取用户输入,会用到Scan方法。scan在go语言中有很多中,今天介绍一下他们的使用方法和不同点。 和print类似,scan也分为三大类: Scan、Scanf和Scanln: 从标准输入os.Stdin读取文本(从终端获取数据) Fscan、Fscanf、Fscanln: 从指定的io.Reader接口读取文本(通用) Sscan、Sscanf、Sscanln: 从一个参数字符串读取文本(从字符串string获取数据) Scan: 语法: func Scan(a ...i...阅读全文

51CTO博客 2020-03-30 08:31:57 oudemen

从零学习 Go 语言(06):数据类型之字典与布尔类型

**系列导读 ** [从零学习 Go 语言(01):一文搞定开发环境的搭建](https://studygolang.com/articles/27365) [从零学习 Go 语言(02):学习五种变量创建的方法](https://studygolang.com/articles/27432) [从零学习 Go 语言(03):数据类型之整型与浮点型](https://studygolang.com/articles/27440) [从零学习 Go 语言(04):byte、...阅读全文

Go语言中文网 2020-03-30 10:53:55 hello_wbm