Go interface 一个需要注意的地方

序 在前段时间码代码的时候,发现一个有趣的 interface 问题。之前都没注意到,以至于… 问题复现 例子一 请看这段代码: func main() { var v interface{} v = (*int)(nil) fmt.

Hexo 2 Hugo

序 很久没更新我的博客了~~ 不是我懒,主要还是: ~~*&&(**^()&)..~~ 刚好给我朋友看到了我的博客,就被吐槽了….之前的博客的确是有点花里胡哨的,都感觉不到是一个技术类博客。23333….就准备给博客换个主题。 之前使用的是hexo进行搭建的,随着博客文章的越来越多,hexo的编译已经有一点力不从心哦,太慢了。之前使用hexo编译30篇md文件至少都需要10s时间。实在受不了…之前很久就发现了这个问题,但是一直都不想折腾,这次就趁着换主题,给操作了。把hexo换成hugo,毕竟作为一个Gopher🐭还是需要支持一下咱们golang的工具的… 1.Hugo的安装以及基础使用 1.1 安装Hugo 我这里直接去hugo的github仓库下载对应系统的二进制文件:

Golang踩坑笔记

golang中的一些陷阱 int和float64类型不匹配 Go类型系统不允许在整数和浮点变量之间进行任何数学运算。 比如 package main import "fmt" func main() { var x, y = 13, 3.

Golang实现Google-Authenticator

什么是Google-Authenticator Google身份验证器是一款基于时间与哈希的一次性密码算法的两步验证软件令牌。也就是我们署成的TOTP(Time-based One-time Password) 通俗的说就是:密钥+算法=code 通过控制变量法,这里我们只需要手机上也设置一样的密钥使用一样的算法,就可以生成一样的code,从而达到二次验证。 使用Go实现生成密码算法 /** * @Author: myxy99 <myxy99@foxmail.

Golang-MongoDb方法封装

Golang操作MongoDb 安装依赖 go get -u github.com/globalsign/mgo MongoDb的方法封装 /** * @Author: myxy99 <myxy99@foxmail.

单链表中间节点

单链表中间节点 方法一 首先先遍历一遍获得节点个数,然后取一半作计数器再次遍历。这个方法遍历了两次,是最慢的方法 class Node: def __init__(self, data, next): self.data = data self.

go-micro开发微服务聊天室

基于go-micro开发的微服务聊天室 技术栈 微服务框架:go-micro web框架:gin orm:gorm

Golang-mod

Golang-mod go modules 是相关Go包的集合。modules是源代码交换和版本控制的单元。 go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。(go官方的解释) 使用Mod 开启go mod go env -w GO111MODULE=on // 开启go mod go mod有以下命令: 命令 说明 download download modules to local cache(下载依赖包) edit edit go.

Golang与Apollo配置中心

Apollo - A reliable configuration management system Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。

Golang使用WebSocket

Golang使用WebSocket WebSocket是一种通信协议,旨在改善HTTP作为无状态协议通信的效率问题,WebSocket是客户端与服务器之间的全双工连接,客户端和服务器只需要建立一次连接就可以使用该连接进行通信。在我们的项目中,一般客户端是前端页面,使用JavaScript创建WebSocket与后端的WebSocket服务端进行通信。 安装依赖 go get -u github.com/gorilla/websocket 封装方法 package websocketConn import ( "errors" "github.