67
本系列记录的是本人第二次学习go语言的经验,所以如果对于go一点都不了解的可以先去认真的过一遍go的基础,基础教程大家可以去看 https://github.com/rubyhan1314/Golang-100-Days,这个系列的基础是我在这个帖子的基础上总结或者摘录过来的1.1 什么是Map
map是Go中的内置类型,它将一个值与一个键关联起来。可以使用相应的键检索值。
Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值 Map 是一
41
手撸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地址:
https:
65
常量相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的值,存放于内存的数据区。
常量可用于将特殊的值进行语义化,使用时根据名称可知道具体含义。
常量可将数据集中管理,只要更改常量定义即可完成全部的修改。
常量可保证不被程序的其它代码更改字面常量字面常量(literal)是指程序中硬编码的常量
Golang的字面常量更接近于自然语言中的常量的概念,是无类型的。const pi = 3.14159
const e = 2.7182常量定义常量声明与变量声明类似,只是将var换成const。
常量
61
什么是 cast?
cast 用于一致且简单的方式在不同的 go 类型之间进行安全的转换。
为什么使用 cast?
在 Go 程序中,我们通常需要将数据由一种类型转换为另一种类型。
cast 使用一致且简单的方式来提供安全的类型转换。它不仅仅适用于类型断言,更强大的功能在于我们使用接口来处理动态数据的时候,cast 提供了一种简单的方法将接口优雅的转换为我们需要的数据类型。
使用 cast 将会极大的增加我们的开发效率,因为它本身就是为了开源项目 Hugo 而生。
使用 Go 标准库进行类型转换的痛点
66
推荐理由
日常开发中,程序配置项会包含多种源,如:配置文件,系统环境变量、分布式config服务等等,常规方式是每种配置源写一套逻辑,虽然开发量不大,但总要花精力去维护后续的变更。Viper库恰好能解决这类痛点,同时还支持多种配置文件格式,以及热加载能力,所以程序配置管理场景可以尝试用Viper库。
功能介绍
Viper具体功能特性如下:设置配置项默认值
支持显式设置配置项
支持读取JSON、TOML、YAML、HCL、envfile和Java properties等配置格式
支持读取环境变量
支持读取e
493
简介
什么是goquery?goquery是由Go实现的基于Go的net/html包和CSS选择器库cascadia的HTML解析库。
由于net/html解析器需要UTF-8编码,goquery也同样需要,所以需要确保提供的html是UTF-8编码。
为什么用goquery?由于net/html解析器返回的是节点,而不是功能齐全的DOM树,所以在使用的过程中goquery可以提供更便利的操作。
快速上手
我们先对微博热搜进行一个简单的解析,打印当日的热搜排名标题以及热度。
package mainim
30
Golang 表达式 :根据调用者不同,方法分为两种表现形式:
instance.method(args...) ---> <type>.func(instance, args...) 前者称为 method value,后者 method expression。
两者都可像普通函数那样赋值和传参,区别在于 method value 绑定实例,而 method expression 则须显
61
关于 JavaScript,谷歌公司的一位技术经理曾经跟我分享过一个无法反驳的观点。他说 JavaScript并不是一门真正有内聚力的编程语言,至少形式上不是。ECMA-262 规范定义了 JavaScript,但 JavaScript没有唯一正确的实现。更重要的是,这门语言与其宿主关系密切。实际上宿主为 JavaScript 定义了与外界交互所需的全部 API:DOM、网络请求、系统硬件、存储、事件、文件、加密,还有数以百计的其他API。各种浏览器及其 JavaScript 引擎都按照自己的理解实现了这