栏目: Golang

在Golang中使用Http.FileServer返回静态文件的操作

Golang中使用http.FileServer使用http.FileServer可以管理向浏览器返回静态文件http.Handle("/",http.FileServer(http.Dir("/Users/administrator/Desktop/public&qu...

2021-04-10 40 0 0 阅读全文

GoLand 2020.3 正式发布有不少新功能(支持泛型)

这是2020年第3个版本,也是最后一个版本。在GoLand2020.3中,您可以探索goroutinesdumps,运行并导航到单个表测试(tabletests),并从对Testify测试框架的扩展支持中获得更多信息。你还将发现许多新的代码编辑功能,包括对time包的支持,更智能的处理包方法,UI改...

2021-04-07 38 0 0 阅读全文

Goland支持泛型了(上机实操)

事情出因一大早上被一篇公众号的推文震惊了,Goland竟然支持go的泛型了。据我所知:Go的泛型不是还在设计草图吗?最乐观估计也要2021年8月份。你说Go语言现在都没开发好泛型,你支持这个特性有什么用呢?带着好奇心点开推文,没发现对泛型的说明,只看到一个Goland对泛型的使用的说明链接:http...

2021-04-07 49 0 0 阅读全文

Go语言设计模式之结构型模式

本文主要聚焦在结构型模式(StructuralPattern)上,其主要思想是将多个对象组装成较大的结构,并同时保持结构的灵活和高效,从程序的结构上解决模块之间的耦合问题。组合模式(CompositePattern)简述在面向对象编程中,有两个常见的对象设计方法,组合和继承,两者都可以解决代码复用的...

2021-06-23 33 0 0 阅读全文

Golang引入自定义包

看完golang的基本语法后,为了模块化编程,试用了下golang的包管理,结果真踩了几个坑,总结一下吧。一.设置$GOPATH环境变量golang和C或php不一样,不会自动查找当前路径下的文件,必须先在$GOAPTH里添加自己工程的路径;二.自定义包里面对外提供的API函数,首字母必须大写如:f...

2021-06-19 15 0 0 阅读全文

Go语言实现简易比特币系统钱包的原理解析

钱包基础概念广义上,钱包是一个应用程序,为用户提供交互界面。钱包控制用户访问权限、管理比特比地址及秘钥、跟踪余额、创建交易和签名交易狭义上,即从程序员角度来看,“钱包”是指用于存储和管理用户秘钥的数据结构钱包是私钥的容器,一般是通过结构化文件或简单数据库来实现的钱包中并不包含比特币。比特币是被记录在...

2021-04-07 72 0 0 阅读全文

Gin解析Json格式的数据出错的处理方案

写的接口给测试测试,现在还没有页面,直接测试接口。使用c.BindJSON(&req)总是报错,大致错误信息如下:err="invalidcharacter'-'innumericliteral"这是由于我的接口要求将参数按照json格式传递到后台,结果测试同事使用了fo...

2021-03-16 40 0 0 阅读全文

基于Golang UInt8、Int8与Byte的区别说明

简单说明uint8与byte可以说是一样的,因为文档中有这样的定义:TheGoProgrammingLanguageSpecificationNumerictypesuint8thesetofallunsigned8-bitintegers(0to255)bytealiasforuint8也就是说,...

2021-03-16 21 0 0 阅读全文

详解Go 创建命令行工具的方法

最近因为项目需要写了一段时间的Go,相对于Java来说语法简单同时又有着一些Python之类的语法糖,让人大呼”真香“。但现阶段相对来说还是Python写的多一些,偶尔还得回炉写点Java;自然对Go也谈不上多熟悉。于是便利用周末时间自己做个小项目来加深一些使用经验。于是我便想到了之前利用Java写...

2021-04-10 33 0 0 阅读全文

基于HLS创建Golang视频流服务器的优缺点

HLS是HTTPLiveStreaming的缩写,是苹果开发的一种基于HTTP的自适应比特率流媒体传输协议,并于2009年.HLS流媒体已经成为应用最广泛的实时视频协议。它是一种将流分解成基于文件小段的格式,可以通过HTTP下载,HLS可以通过标准的HTTP或代理服务器等,这和基于UDP的协议(例如...

2021-08-09 28 0 0 阅读全文

Gin 获取Post请求的Json Body操作

我就废话不多说了,大家还是直接看代码吧~代码如下typeKDRespBodystruct{Errcodeint`json:"errcode"`Descstring`json:"description"`Data[]services.KdSearchBack`j...

2021-03-16 24 0 0 阅读全文

Go中Time.RFC3339 时间格式化的实现

在开发过程中,我们有时会遇到这样的问题,将2020-11-08T08:18:46+08:00转成2020-11-0808:18:46,怎么解决这个问题?解决这个问题,最好不要用字符串截取,或者说字符串截取是最笨的方法,这应该是时间格式化的问题。我们先看一下golangtime包中支持的format格...

2021-03-15 75 0 0 阅读全文

Golang 实现时间戳和时间的转化

说实话,golang的时间转化还是很麻烦的,最起码比php麻烦很多,上码好好学学一下packagemainimport("time""fmt")funcmain(){//获取当前时间t:=time.Now()//2018-07-1115:07:51.88580...

2021-05-07 46 0 0 阅读全文

Golang Gob编码(Gob包的使用详解)

gob是Golang包自带的一个数据结构序列化的编码/解码工具。编码使用Encoder,解码使用Decoder。一种典型的应用场景就是RPC(remoteprocedurecalls)。gob和json的pack之类的方法一样,由发送端使用Encoder对数据结构进行编码。在接收端收到消息之后,接收...

2021-05-07 76 0 0 阅读全文

详解Golang使用MongoDB通用操作

MongoDB是Nosql中常用的一种数据库,今天笔者就简单总结一下Golang如何使用这些通用的供能的,不喜勿喷。。。研究的事例结构如下:typeLikeBeststruct{AuthorNamestring`bson:"authorname,omitempty"`BookNa...

2021-04-06 47 0 0 阅读全文

Golang实用库Gotable的具体使用

一背景在使用cli打印结果的时候,对结果进行格式化输出,但限于内容较长的,不好自动排版,需要明确宽度等其他字段,可以使用gotable可以根据字段的长度自动调整每列的宽度,并且自动将字段居中显示。表格可以动态的新增列和数据。二库简介gotable可以打印table到控制台,目前支持ASCII/Chi...

2021-07-01 45 0 0 阅读全文

详解Go语言的错误处理和资源管理

资源处理是什么?打开文件需要关闭,打开数据库连接,连接需要释放.这些成对出现的就是资源管理.有时候我们虽然释放了,但是程序在中间出错了,那么可能导致资源释放失败.如何保证打开的文件一定会被关闭呢?这就是资源管理与错误处理考虑的一个原因一.defer1.defer保证在函数结束时发生.2.defer列...

2021-06-24 57 0 0 阅读全文

分析Go语言接口的设计原则

interface是Go语言的基础特性之一,可以理解为对一种类型的规范或者约束.他跟java,c++不同,Go语言实现接口不需要显示说明实现了哪个接口,也没有继承或者子类或者implement关键字.只是通过约定的形式,隐式的实现接口中的方法即可.这样的好处1.go的interface写起来更自由,...

2021-06-24 28 0 0 阅读全文

Golang 如何获取文件夹下面的文件列表

golang的文档里面比较容易找到的一个方法是filepath.Walk,这个方法有个问题是会自动递归遍历当前目录的子目录,其实我们通常只是想得到一个目录下面的文件列表,并不需要这么多的信息,同时这个方法代码写起来也比较多比较复杂,我们也没有必要这么做。如果仅仅是想获取一个目录下面的文件和文件夹的列...

2021-05-07 41 0 0 阅读全文

使用Golang的交叉编译生成Windows可执行文件

go语言开发的一个让人激动的特性就是可以跨平台。同样的代码,无需修改,只要重新编译一下就可以在另一个平台下运行,而你只需要在编译的时候指定一下目标平台系统就可以了。最常见的就是windows下开发完的应用需要跑在linux上了。拿一个已经开发完成的web程序来实践,在windows上编译出redha...

2021-04-22 78 0 0 阅读全文