36. 图解:Go 语言的反射三定律,也没什么难的嘛

Hi,大家好,我是明哥。 在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。 我的在线博客:http://golang.iswbm.com 我的 Github:github.com/iswbm/GolangCodingTime 当我在使用 Python 的时候,我甚至可以做到不需要知道什么是内省,什么是反射...阅读全文

简书 2020-06-18 12:32:51 王炳明

【转载】优雅地写Dockerfile(多阶、镜像小)

一、Docker容器1.1 容器的特点我们都知道容器就是一个标准的软件单元,它有以下特点:随处运行:容器可以将代码与配置文件和相关依赖库进行打包,从而确保在任何环境下的运行都是一致的。高资源利用率:容器提供进程级的隔离,因此可以更加精细地设置CPU和内存的使用率,进而更好地利用服务器的计算资源。快速扩展:每个容器都可作为单独的进程予以运行,并且可以共享底层操作系统的系统资源,这样一来可以加快容器的启动和停止效率。1.2 Docker容器目前市面上的主流容器引擎有Docker、Rocket/rkt...阅读全文

简书 2020-06-18 12:32:48 史荣新

golang开发环境搭建

1.安装goland,这个工具是收费的,但是确实物有所值2.安装golang sdk. 我目前使用的是go 1.13 ,sdk下载地址https://golang.org/doc/install?download=go1.13.12.windows-386.msi 我本人也下载了一份,传到了百度网盘链接:https://pan.baidu.com/s/1h14jCFvaBnwvo9LI2lufLw提取码:5aj73.开启go modgo module是Go1.11版本之后官方推出的版本管理工具,...阅读全文

简书 2020-06-18 12:32:46 keluda

Golang-3DES ECB加解密

因瓜皮方使用ECB模式下的3DES算法加解密信息,golang默认只提供CBC模式,咱只能自己实现ECB模式。 这边已有先人写了一个golang的加密库,有点牛逼的:github.com/forgoer/openssl 使用方式:go get github.com/thinkoner/openssl 3DES加密的密钥(key)必须要24个字节 将密钥分成各8字节的3份子密钥:K1、k2、k3。使用这3个密钥对明文进行加密、解密处理,如下: E(k,d)、D(k,d)分别表示使用密钥k对数据d进...阅读全文

简书 2020-06-18 12:32:43 C的高圆圆

从零学习 Go 语言(19):Go Modules 前世今生及入门使用

![](http://image.iswbm.com/20200607145423.png) 在线博客:http://golang.iswbm.com/ Github:https://github.com/iswbm/GolangCodingTime --- 在以前,Go 语言的的包依赖管理一直都被大家所诟病,Go官方也在一直在努力为开发者提供更方便易用的包管理方案,从最初的 GOPATH 到 GO VENDOR,再到最新的 GO Modules,虽然走了不少的弯路,...阅读全文

Go语言中文网 2020-06-18 12:31:18 hello_wbm

36. 图解:Go 语言的反射三定律,也没什么难的嘛

Hi,大家好,我是明哥。 在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。 我的在线博客:golang.iswbm.com 我的 Github:github.com/iswbm/GolangCodingTime 当我在使用 Python 的时候,我甚至可以做到不需要知道什么是内省,什么是反射,就可以立即使...阅读全文

掘金 2020年06月18日 王一白

Go 每日一库之 fyne

简介 Go 语言生态中,GUI 一直是短板,更别说跨平台的 GUI 了。fyne向前迈了一大步。fyne 是 Go 语言编写的跨平台的 UI 库,它可以很方便地移植到手机设备上。fyne使用上非常简单,同时它还提供fyne命令打包静态资源和应用程序。我们先简单介绍基本控件和布局,然后介绍如何发布一个fyne应用程序。 快速使用 本文代码使用 Go Modules。 先初始化: $ mkdir fyne && cd fyne $ go mod init github.com/darjun/go-d...阅读全文

掘金 2020年06月18日 darjun

Go 每日一库之 fyne

简介 Go 语言生态中,GUI 一直是短板,更别说跨平台的 GUI 了。fyne向前迈了一大步。fyne 是 Go 语言编写的跨平台的 UI 库,它可以很方便地移植到手机设备上。fyne使用上非常简单,同时它还提供fyne命令打包静态资源和应用程序。我们先简单介绍基本控件和布局,然后介绍如何发布一个fyne应用程序。 快速使用 本文代码使用 Go Modules。 先初始化: $ mkdir fyne && cd fyne $ go mod init github.com/darjun/go-d...阅读全文

Segmentfault 2020-06-20 20:32:37 darjun

36. 图解:Go 语言的反射三定律,也没什么难的嘛

Hi,大家好,我是明哥。 在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习 Go 语言,不防关注一下,一起学习,一起成长。 我的在线博客:http://golang.iswbm.com 我的 Github:github.com/iswbm/GolangCodingTime 当我在使用 Python 的时候,我甚至可以做到不需要知道什么是内省,什么是反射...阅读全文

Segmentfault 2020-06-20 20:32:35 Python编程时光

从零学习 Go 语言(18):Go 语言中的 语句块与作用域

![](http://image.iswbm.com/20200607145423.png) 在线博客:http://golang.iswbm.com/ Github:https://github.com/iswbm/GolangCodingTime --- 由于 Go 使用的是词法作用域,而词法作用域依赖于语句块。所以在讲作用域时,需要先了解一下 Go 中的语句块是怎么一回事? ## 1. 显示语句块与隐式语句块 通俗地说,语句块是由花括弧(`{}`)所...阅读全文

Go语言中文网 2020-06-18 08:42:53 hello_wbm

pprof 的使用

基本介绍 pprof 是在做性能优化前的性能分析工具。 安装: go get -u github.com/google/pprof 两个工具 服务型应用 _ "net/http/pprof" 包,专用于采集 web 服务 运行数据的分析 工具型应用 "runtime/pprof" 包,专用于采集 应用程序 运行数据的分析 另外 go tool pprof 是命令行指令,用于获取和分析 Profiling 数据,源数据可以是 http 地址,也可以是本地 Profile 文件;查看模式可以命令行交...阅读全文

简书 2020-06-18 02:32:52 Robin92

golang vim环境搭建

主要使用到的是golang的vim插件vim-go, 安装方法: (1)配置好自己的GOPATH和GOROOT; (2)在GOPATH目录下建立 src、pkg、main、bin四个目录; (3)安装go tools 这里说的go tools主要是指 godef、goimports、godoc等工具(在~/.vim/bundle/vim-go/plugin/go.vim中有配置) (a) 任意打开一个.go的文件,然后运行 :GoInstallBinaries,就是自动下载工具的二进制包进行安装...阅读全文

简书 2020-06-18 02:32:51 绩重KF

golang的defer,panic,recover简单举例

golang中defer,panic,recover是很常用的三个特性,三者一起使用可以充当其他语言中try…catch…的角色,而defer本身又像其他语言的析构函数defer延迟执行: defer 是return 后才调用4. 为什么要有 defer?看完上面的例子后,不知道你是否和我一样,对这个defer的使用效果感到熟悉?貌似在 Python 也见过类似的用法。虽然 Python 中没有 defer ,但是它有 with 上下文管理器。我们知道在 Python 中可以使用 defer 实...阅读全文

简书 2020-06-18 02:32:51 老曹漫谈

可灵活配置,人性化管理,简单易用的开源工单系统

开始此项目的初衷 一直想维护一个开源的项目,但是有的半途而废了,有的止步与设计,这次终于坚持下来了,毕竟有的时候工作之余还是工作啊。 在之前的开源项目开发过程中,总会因为各种事情耽误,导致没有兴趣继续开发下去。这次在我的完美规划下中,终于在工作之余写出了第一版的开源工单项目。 因为还不是很完善,因此目前仅仅提供了一个demo地址,后续完善会开放源代码供大家参考学习。 Demo: 开源工单项目 废话不多说,下面就开始介绍一下这个项目吧。 已完成功能及待完成功能介绍 已完成的功能 功能 状态 介绍 ...阅读全文

简书 2020-06-18 02:32:49 b0ec9dbb2519

从设计到开发,实现一个人人都可以简单使用及管理的工作流系统

工作流介绍 工作流(Workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。 工作流在IT领域不算是“新人”了,工作流思想在上世纪60年代就有人提出过;70年代就有人开始尝试,但是由于当时许多的限制,工作流一直没有成功的被实现;80年代才出现第一批成功的工作流系统;90年代工作流技术走向了第一个发展高峰期;90年代后至今工作流出现了很多版本,但是主旨还是不变的,为了使我们的工作变得更加高效。 我们通过工作流可以节省...阅读全文

简书 2020-06-18 02:32:45 b0ec9dbb2519

2020-06-17 框架设计

请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则? 依赖倒置原则是一种解耦模块间关系的方法,它要求上层模块不能依赖于底层模块,他们应该共同依赖于一个抽象;抽象不能依赖于实现,实现应该依赖于抽象。 在底层实现发生变化或者引入新的底层实现时,通过共同依赖于抽象,可以使得改动对上层模块的影响最小化。 好莱坞原则通俗讲是你不要调用我,让我来调用你。这个关系的反转和依赖倒置的核心思想是一致的,好莱坞所讲的可以理解为框架会定义一系列的接口,各种基于框架开发的应用程序只需要实现这些接口,框...阅读全文

Go 语言基础 数组、切片、映射

友情提示:此篇文章大约需要阅读 5分钟14秒,不足之处请多指教,感谢你的阅读。???? 订阅本站 在 Go 语言中,为便于存储及管理用户数据,其数据结构设计分为数组 Array、切片 Slice、映射 Map 三种结构。 近期又看了 Go 语言基础的内容,看了一下这三种结构实现的原理: 数组 Array 数组是切片和映射的基础数据结构; 数组是长度固定的数据类型并且在内存中也是连续分配的,固索引数组数据速度是非常快的; 声明数组时需要指定数组存储的类型及数量(数组的长度); 数组变量的类型包括数...阅读全文

Segmentfault 2020-06-20 20:32:35 Meng小羽