跳转至

Go

golang中关于map的创建初始化问题

之前写python 脚本比较多,对于python中的字典类型数据,创建非常简单,很灵活,但是在golang中有时却很不习惯,从而造成一些困扰。 本文记录一下在golang中创建map的一些细节问题。

golang的变量分为值类型与引用,值类型包括整型、浮点型、bool型、string 数组、结构体 变量地址中直接保存值,对于值类型的变量,声明以后,如果不赋值,那么变量的值为该类型的零值,如整型为0, bool类型为false,golang 的引用类型包括 slice、map、channel、function、pointer 等,如果没有赋值则为nil, 对于nil的变量,是不可以直接使用的。

实例讲解go build tag 标签在交叉编译时的应用

事情是这样的,在一个项目中,我需要读取系统中的某个文件的创建时间,根据时间做不同的处理,如超过一定时间后就删除掉。 查询了一下,获取文件创建时间可以使用标准库中的os 和 syscall 来完成,但是syscall库在不同的系统中的接口是不一样的,如在Mac下是这样使用的

go mod如何导入本地包?

我们在使用go开发的时候,经常会用到很多第三方的包,他们大多以开源的形式提供下载 ,如托管到github上,我们只需要使用 go get github.com/xxx/xxxx 就可以下载到,这很方便。 但是我们也经常会遇到那种不开源的包,比如公司内别的部门开发的包,并没有开源,只是内部使用,这时如果我们要使用该包就不能再使用go get 了,本文就详细说明一下如何导入本地的包,以及过程中可能会遇到的坑。

gin中使用Socket.io踩的坑

最近在使用golang来搭建后台系统,框架使用非常著名的gin框架,由于在项目中需要使用socket.io进行长连接管理,官方推荐的golang服务端为go-socket.io,于是按照官方的文档示例很简单的就搭建起来了后台服务。 但是使用client 进行连接的时候就出现了各种问题,本文记录一下解决方案。

gin 、sanic、flask 读取 redis 并发对比

最近想要看下go与python的性能到底有多少差异,不比不知道,差距还是蛮大的,为了方便实验,两个后台服务都访问相同的redis服务器, 简单的使用get 命令,获取一个值, 再通过json 格式返回

使用gin搭建api后台系统之跨域问题

在前后端分离的开发模式下,跨域问题一直是个老生常谈的问题,一般的解决方案分为前端与后端,前端主要利用jsonp来解决,但是后端解决会更更加方便,本文记录一下使用gin框架时在后端解决跨域问题。

使用gin搭建api后台系统之redis

redis 在web系统中有着非常重要的地位,可以充当缓存,消息队列,分步式锁等,本文介绍一下使用go-redis这个库来简单地操作redis。

使用gin搭建api后台系统之中间件开发

在之前的文章中,基本上都是使用的默认的 gin.Default() 来初始化一个引擎,之后再调用引擎的Run方法来运行一个web服务,现在如果有个需求,某些api只有管理员权限的才可以进行访问,非管理员的就很401,我们可以写一个方法,在需要授权的接口调用该方法来进行验权,但是在gin中还可以使用更加优雅的方法,中间件。

使用gin搭建api后台系统之MySQL初步CURD

之前的文章介绍了gin框架的基础使用,现代的web系统,很少不与数据库打交道的,接下来的几篇文章,从日常使用的比较多的数据库MySQL, Mongodb, redis 来分别简单的介绍如何使用,这篇先介绍一下MySQL的使用。

使用gin搭建api后台系统之cookie与session

之前的文章都是一种无状态的请求,在处理有状态的请求时,如用户登录的场景就不行了,web系统通常使用cookie或者session来记录用户状态,本文记录一下gin框架下cookie与session的使用。