go学习六·集合(Map)
本系列记录的是本人第二次学习go语言的经验,所以如果对于go一点都不了解的可以先去认真的过一遍go的基础,基础教程大家可以去看 https://github.com/rubyhan1314/Golang-100-Days,这个系列的基础是我在这个帖子的基础上总结或者摘录过来的 1.1 什么是Map map是Go中的内置类型,它将一个值与一个键关联起来。可以使用相应的键检索值。 Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值 ...阅读全文
打印图片时省墨处理,并生成pdf方便打印
想法产生的背景 最近孩子学校要求打印的材料比较多,就自己买了台打印机。安置妥当后在使用过程中遇到了还没有打印多少张就发现墨水不够用了,就想着打印图片怎么才能即省墨又不丢打印效果,这样就有这篇文章进行尝试。 什么样的图片打印时需要考虑省墨? 扫描的黑白图片就可以忽略了,基本已经达到了省墨的程度 要考虑省墨的是用手机拍摄的书本图片 如何才可能省墨? 把彩色图片生成灰度图 处理一些浅色的背景图 处理架构 使用 golang 处理图片并自动生成pdf 处理过程 读取原始图片 计算平均灰度值并 生成灰度图...阅读全文
golang channel 系统学习
goroutine是个啥 使用golang的channel之前,我们需要先了解go的goroutine。 Go 语言支持并发,我们只需要通过 go 关键字来开启 goroutine 即可。 goroutine 是轻量级线程,相比线程开销更小,完全由 Go 语言负责调度,是 Go 支持并发的核心。 如下所示,在go中我们可以很方便的开启并发执行。 package main import ( "fmt" "time" ) func main() { go fmt.Println("goroutine...阅读全文
各类素材教程资源分享
可在线复制提取01电脑软件类011常用办公软件类教程(office wps 自学电脑教程)office全套视频教程大全wordexcelppt20162013201020072003办公软件教程链接:https://pan.baidu.com/s/1Wo--kS81f7HTjy4nibyedg 提取码:slpv WPS2019全套视频教程word文字excel表格函数公式PPT幻灯片演示教程链接:https://pan.baidu.com/s/1nXX-MHPrBjc1iurnQDnHTw 提取...阅读全文
手撸golang 仿spring ioc/aop 之8 扫码3
手撸golang 仿spring ioc/aop 之8 扫码3 缘起 最近阅读 [Spring Boot技术内幕: 架构设计与实现原理] (朱智胜 , 2020.6) 本系列笔记拟采用golang练习之 Talk is cheap, show me the code. Spring Spring的主要特性: 1. 控制反转(Inversion of Control, IoC) 2. 面向容器 3. 面向切面(AspectOriented Programming, AOP) 源码gitee地址: ...阅读全文
Go在Google SRE的工程实践
原文地址:https://opensource.googleblog.com/2021/04/actuating-google-production-how-googles-sre-team-uses-go.html) 原文作者:Pierre Palatin 本文永久链接:https://github.com/gocn/translator/blob/master/2021/w15-actuating-google-production-how-googles-sre-team-uses-go....阅读全文
Go 开源说第八期预告:go chassis——微服务开发框架
点击蓝字 关注我们 写在前面 GoCN开源说是GoCN推出的一档分享Go开源好项目的直播栏目,通过开源说希望能够帮助到开源作者们实现以下目标: 第一是去推广他们的开源项目 第二说说背后的设计原理和理念,产品优越性等 第三让我们用户可以了解到更多好玩有用的项目,避免自己造轮子重复发明 第四当然也希望通过这些分享让大家学习到每一个开源项目背后的设计理念,拥抱开源,做出自己的产品。 回顾地址:https://github.com/gocn/opentalk —— 王博锋 本期开源先锋 田晓亮 http...阅读全文
【GoCN酷Go推荐】Go 类型转换神器 cast库
什么是 cast? cast 用于一致且简单的方式在不同的 go 类型之间进行安全的转换。 为什么使用 cast? 在 Go 程序中,我们通常需要将数据由一种类型转换为另一种类型。 cast 使用一致且简单的方式来提供安全的类型转换。它不仅仅适用于类型断言,更强大的功能在于我们使用接口来处理动态数据的时候,cast 提供了一种简单的方法将接口优雅的转换为我们需要的数据类型。 使用 cast 将会极大的增加我们的开发效率,因为它本身就是为了开源项目 Hugo 而生。 使用 Go 标准库进行类型转换...阅读全文
【GoCN酷Go推荐】Go程序配置利器-viper库
推荐理由 日常开发中,程序配置项会包含多种源,如:配置文件,系统环境变量、分布式config服务等等,常规方式是每种配置源写一套逻辑,虽然开发量不大,但总要花精力去维护后续的变更。Viper库恰好能解决这类痛点,同时还支持多种配置文件格式,以及热加载能力,所以程序配置管理场景可以尝试用Viper库。 功能介绍 Viper具体功能特性如下: 设置配置项默认值 支持显式设置配置项 支持读取JSON、TOML、YAML、HCL、envfile和Java properties等配置格式 支持读取环境变量...阅读全文
【GoCN酷Go推荐】Html解析利器-goquery库
简介 什么是goquery?goquery是由Go实现的基于Go的net/html包和CSS选择器库cascadia的HTML解析库。 由于net/html解析器需要UTF-8编码,goquery也同样需要,所以需要确保提供的html是UTF-8编码。 为什么用goquery?由于net/html解析器返回的是节点,而不是功能齐全的DOM树,所以在使用的过程中goquery可以提供更便利的操作。 快速上手 我们先对微博热搜进行一个简单的解析,打印当日的热搜排名标题以及热度。 package ma...阅读全文
***基础——使用Go语言开发socks代理工具
***基础——使用Go语言开发socks代理工具 3gstudent 嘶吼专业版 0x00 前言 在上篇文章《***基础——端口转发与代理》提到了使用go语言分别实现正向和反向socks代理的方法,不仅开发效率高,而且能够很方便的实现跨平台编译。 本文将要进一步介绍Windows系统和Kali系统下使用Go语言开发的完整过程,并基于开源代码,实现一个socks正向和反向代理的工具,记录细节。 0x01 简介 本文将要介绍以下内容: · Windows系统下Go语言开发环境的搭建 · Kali系统...阅读全文
go语言入门教程06 常量
转载请注明来源"老男孩IT教育"来源网址:https://www.sholdboyedu.com/new/475.htmlGo语言中const常量 Go语言的常量关键字是const,用于存储不会改变的数值,了解学习常量是比不可少的部分,下面我们一起来学习常量以及运用常量的方法吧!常量定义在 Go 语言中,术语"常量"用于表示固定的值。比如 5 、-89、 I love Go、67.89 等等。看看下面的代码:var a int = 50 var b string = "I love Go"在上面...阅读全文
go语言入门教程06 常量
转载请注明来源"老男孩IT教育"来源网址:https://www.sholdboyedu.com/new/475.htmlGo语言中const常量 Go语言的常量关键字是const,用于存储不会改变的数值,了解学习常量是比不可少的部分,下面我们一起来学习常量以及运用常量的方法吧!常量定义在 Go 语言中,术语"常量"用于表示固定的值。比如 5 、-89、 I love Go、67.89 等等。看看下面的代码:var a int = 50 var b string = "I love Go"在上面...阅读全文
Go开发工程师:迎接上升风口,踏入蓝海行业!
Go开发工程师:迎接上升风口,踏入蓝海行业! 适合零基础小白学习吗小同学,当你问出这句话的时候,就说明你已经不是小白了,你是个很有主见的“大人”了,要是你问零基础适合学习么?我肯定的告诉你:非常适合,而且要相信自己不是小白,而是小牛~祝你更进一步,加油~ 课程中的项目是真的企业级/商业级项目么?同学这个问题是我见过问得最有水平的问题了~ 确实网络上充斥了很多美其名曰“企业级/商业项目”,然而当你咨询想要体验一下项目效果,这么最低的标准都达不到,也就是网络充斥很多打着“企业级”名号的耍流氓项目,他...阅读全文