[now]-go的时间工具箱

关于我 我的博客|文章首发 golang不像C#,Java这种高级语言,有丰富的语法糖供开发者很方便的调用。所以这便催生出很多的开源组件,通过使用这些第三方组件能够帮助我们在开发过程中少踩很多的坑。 时间处理是所有语言都要面对的一个问题,parse根据字符串转为date类型,tostring()将date类型转为定制化的字符串。 在实际使用过程中,parse的使用有一种不是很舒服的方法。 上源码 time1, _ := time.Parse("2006-01-02", "2020-02-22")...阅读全文

简书 2021-03-23 11:37:59 HapplyFox

零基础小白学golang语言还是java语言?

对于新手而言,学习Java是一个比较稳妥的选择一方面Java的应用比较普遍,80%的企业项目都是Java开发,按照目前的发展情况来看,未来Java的应用空间依然非常大。另一方面Go语言并不适合零基础学习的编程语言,能学只是相对比较吃力,Go语言在很多概念的理解上还是需要一定基础的,可以先把Java学习好,然后在学习go语言,有java基础再学习Go语言就会更加容易一些。就语言的设计来说,目前 Java 还是比 Go 好很多的,特别是高版本 Java 的进步还算不错。Go 的异步模型是个明显的优点...阅读全文

简书 2021-03-23 11:37:59 WEIYIHANG

10 Golang map的正确使用姿势

map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。 map[KeyType]ValueType 其中: KeyType表示键的类型; ValueType表示键对应的值的类型 map类型的初始值为nil,需要使用make()函数来分配内存。 make:用于slice,map和channel的初始化 make创建map类型的数据 var userInfo = make(map[string]string) userInfo["username"]=...阅读全文

简书 2021-03-23 11:37:59 learninginto

Go语言环境的安装

从零开始搭建Go语言的开发环境 go.jpg 下载go go毕竟是国外的所以推荐镜像站下载:https://golang.google.cn/dl/ 版本选择:选择适合自己电脑 的版本 image.png 安装: Windows安装 image.png 选择自己对应的版本双击安装 image.png 1.png 2.png 3.png 配置GOPATH GOPATH环境变量,来表明你写的go项目的存放路径 (开发目录) GOPATH路径最好只设置一个,所有的项目代码都放到GOPATH的src目录...阅读全文

简书 2021-03-23 11:37:58 小狐憨憨

[Golang] context引发的一个小bug

背景哈喽,everybody,小松子,再次回归,最近工作比较忙,好久都没有更新文章了,接下来会进行补更。今天与大家分享一个日常开发比较容易错误的点,那就是contxt误用导致的bug,我自己就因为误用导致异步更新缓存都失败了,究竟是因为什么呢?看这样一个例子,光看代码,你能看出来有什么bug吗?func AsyncAdd(run func() error) { //TODO: 扔进异步协程池 go run() } func GetInstance(ctx context.Context,id u...阅读全文

Segmentfault 2021-03-25 13:32:34 asong

聊聊go-ddd-sample

序本文主要赏析一下go-ddd-sample项目结构├── _sql ├── application ├── config ├── domain │ └── repository ├── infrastructure │ └── persistence │ └── testdata └── interfaces └── testdata这里分为application、domain、infrastructure、interfaces四层domain├── repository │ ├── mock...阅读全文

Segmentfault 2021-03-25 14:32:34 codecraft

手撸golang GO与微服务 ES-CQRS模式之1

手撸golang GO与微服务 ES-CQRS模式之1缘起最近阅读 [Go微服务实战] (刘金亮, 2021.1)本系列笔记拟采用golang练习之git地址: https://gitee.com/ioly/learning.gooopES-CQRS模式ES(Event Sourcing)事件溯源非常好理解, 指的是将每次的事件都记录下来, 而不是去记录对象的状态。 比如新建、修改等都会作为事件记录下来, 当需要最新的状态时,通过事件的堆叠来计算最新的状态。 按照事件溯源的模式进行架构设计, 就...阅读全文

Segmentfault 2021-03-25 14:32:33 ioly

Golang Slice 的一些事

Golang Slice 的一些事 向南 360云计算 女主宣言 使用 Golang 编程时,常会使用到一个数据结构 —— Slice,这篇文带大家看看 Slice 具体的数据结构以及常用手法。PS:丰富的一线技术、多元化的表现形式,尽在“HULK一线技术杂谈”,点关注哦! 1. Slice 数据结构 首先,直接从源码$YOUR_GO_DIR/src/runtime/slice.go(其中$YOUR_GO_DIR指你自己go源代码的根目录)中找到定义的slice结构,如下: type slice...阅读全文

51CTO博客 2021-03-22 15:01:51 mob604756f04b77

Golang menu

第一周:基本组成元素基本数据类型流程控制第二周:复合数据类型数据类型转换字符切片copy第三周:函数基础函数进阶第四周:包管理和使用单元测试和常用模块第五周:面向对象的结构体面向对象的方法第六周:文件与IO操作目录操作与常用包第七周:接口介绍与用法反射基础与功能开发第八周:并发编程的概念、例程、闭包陷阱并发编程的共享数据、管道、常用包第九周:网络编程知识爬虫知识学习阅读全文

51CTO博客 2021-03-22 19:13:15 元婴期

go语言中的反射

以前用Java开发的时候,尤其是接触到稍微底层一点的东西,比如AOP,动态代理这些东西,都要用到反射,现在学习go语言,发射这些反射和Java里面的及其类似,不过也有差异,以下是一些代码演示基本数据类型的反射package main //反射,基本数据类型 import ( "fmt" "reflect" ) type myInt int type Person struct { Name string Age int } func reflectType(v interface{}) { ty...阅读全文

Segmentfault 2021-03-25 12:32:32 聚合数据

Golang笔记之流程控制

一、条件语句1.1、ifif表达式的结果为true时执行语句块内代码package mainimport "fmt"func main() { var flag bool = true if flag { fmt.Println("true") }} 1.2、if-else当 if表达式结果为 true,则执行if语句块内代码,否则执行 else语句块内代码package mainimport "fmt"func main() { var flag bool = false if flag { ...阅读全文

51CTO博客 2021-03-22 13:19:27 元婴期

golang学习笔记(一)

关于GOROOT、GOPATH、GOBIN、project目录 GOROOT:golang安装路径 GOPATH: go工作环境,具体用途:go命令常常需要用到的,如go run,go install, go get等。允许设置多个路径,和各个系统环境多路径设置一样,windows用“;”,linux(mac)用“:”分隔。 在linux(Mac)下,为了方便,一般配置在~/.bash_profile中。 vi ~/.bash_profile //编辑 source ~/.bash_profil...阅读全文

简书 2021-03-22 13:32:37 第9号当铺

08 Golang引用类型——切片

切片 切片(slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。 切片是一个引用类型,它的内部结构包括地址、长度和容量。 声明切片类型的基本语法如下: var name []T 其中name表示变量名,T表示切片中的元素类型 var arr1 []int fmt.Printf("%v-%T-长度:%v", arr1, arr1, len(arr1))//[]-[]int-长度:4 方式二:定义时初始化 var arr1 = []int{1,...阅读全文

简书 2021-03-22 13:32:35 learninginto

分布式任务 + 消息队列框架 go-queue

为什么写这个库应用场景有哪些如何使用总结为什么要写这个库?在开始自研 go-queue 之前,针对以下我们调研目前的开源队列方案:beanstalkdbeanstalkd 有一些特殊好用功能:支持任务priority、延时(delay)、超时重发(time-to-run)和预留(buried),能够很好的支持分布式的后台任务和定时任务处理。如下是 beanstalkd 基本部分:job:任务单元;tube:任务队列,存储统一类型 job。producer 和 consumer 操作对象;prod...阅读全文

Segmentfault 2021-03-25 10:32:33 kevinwan

Excelize -Go 开源项目中唯一支持复杂样式 XLSX 文件的类库

简介Excelize 是 Go 语言编写的一个用来操作 Office Excel 文档类库,基于 ECMA-376 Office OpenXML 标准。可以使用它来读取、写入 XLSX 文件。相比较其他的开源类库,Excelize 支持写入原本带有图片(表)的文档,还支持向 Excel 中插入图片,并且在保存后不会丢失图表样式。目前是开源项目中唯一支持读写带有图片(表)、透视表等复杂样式文档的类库。新增功能(2.0.2)支持创建数据透视表。新增 AddPivotTable() 函数支持创建迷你图...阅读全文

51CTO博客 2021-03-22 09:24:47 mob604756f23a7e