golang 实现json类型不确定时的转换
将json转为结构体时,经常会遇到无法确定某个字段类型的情况。在go中可以使用interface任意类型来解决。output:补充:ginbindjson结构体中有不确定类型的字段结构体中有不确定类型的字段,用interfa...Goland使用Go Modules创建/管理项目的操作
创建项目location:新项目文件夹goroot:go安装根目录proxy:https://goproxy.io,direct重要:https://goproxy.io是下载go包的代理地址,设置后可在国内正常下载go仓库/github的包。创建一个go文件创...- 0
- 0
- 0
- 0
- 0
使用go实现常见的数据结构
1golang常见数据结构实现1.1链表举单链表的例子,双向链表同理只是多了pre指针。定义单链表结构:构造链表及打印链表:1.2可变数组可变数组在各种语言中都非常常用,在golang中,可变数组语言本身已...- 0
- 0
- 0
- 0
- 0
viper配置框架的介绍支持zookeeper的读取和监听
viper作为配置框架,其功能非常的强大,我们没有理由不去了解一下。我们先看官网对它的功能简介:viper是完整配置解决方案,他可以处理所有类型和格式的配置文件,他有如下功能:设置默认配置支持读取...- 0
- 0
- 0
- 0
- 0
Golang 实现获取当前函数名称和文件行号等操作
大家还是直接看代码吧~//获取正在运行的函数名funcrunfuncname()string{pc:=make([]uintptr,1)runtime.callers(2,pc)f:=runtime.funcforpc(pc[0])returnf.name()}packagemainimport("fmt""runt...- 0
- 0
- 0
- 0
- 0
goland设置控制台折叠效果
1.快捷键ctrl(cmd)+shift+a或者help—>findaction2.输入registry,输完记得回车3.取消go.run.process.with.pty勾选小知识点:上面图可以直接搜索—>直接输入go.run.process就能快速找到4.完成后的...- 0
- 0
- 0
- 0
- 0
Bottle部署web服务及postman接口的方法
bottle是一个快速、简洁、轻量级的基于wsig的微型web框架,此框架只由一个.py文件,除了python的标准库外,其不依赖任何其他模块。frombottleimportroute,request,runimportrequestsimportcv2importn...- 0
- 0
- 0
- 0
- 0
golang如何优雅的编写事务代码示例
前言新手程序员大概有如下特点if嵌套经常超过3层、经常出现重复代码、单个函数代码特别长。只会crud,对语言特性和语言的边界不了解。不懂面向对象原则和设计模式,以为copy代码就算学会了,常见的是...- 0
- 0
- 0
- 0
- 0
golang 如何实现HTTP代理和反向代理
代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端。代理的功能有很多,事实上整个互联网到处都充斥着代理服务器。如果所有的http访问都是客户端和服...- 0
- 0
- 0
- 0
- 0
Golang 传递任意类型的切片
肯定有这样的一种场景,写一个函数,该函数可以接收任意类型的切片,完成相应的功能。就好比这种情况intslice:=[]int{1,2,3,4,5,6,7,8}strslice:=[]string{"a","b","c","d"}boolslice:=[]bool{true...- 0
- 0
- 0
- 0
- 0
为什么Go语言把类型声明放在后面?
关于类型,官网上有一段仔细地介绍了一下函数指针的部分,现在的设计比起c的语法,清晰很多。也就是说,类型放在后面是为了更加清晰易懂。robpike曾经在go官方博客解释过这个问题(查看原文:go'sdecla...- 0
- 0
- 0
- 0
- 0
golang修改结构体中的切片值方法
golang修改结构体中的切片值,直接传结构体地址就可以packagemainimport"fmt"typerspinfostruct{keywordsstring`json:"key_words"`value[]string`json:"value"`}funcsetslice(te*[]string){str:...- 0
- 0
- 0
- 0
- 0
golang的空标识符理解
空白符(blankidentifier)空白符的产生可能是因为go不允许变量声明了但不使用。既然不想使用,何必声明变量呢,那就将变量用空白符代替,反正空白符就是用来抛弃的。我们有时候看到这样的golang代码:...- 0
- 0
- 0
- 0
- 0
Golang Gob编码(gob包的使用详解)
gob是golang包自带的一个数据结构序列化的编码/解码工具。编码使用encoder,解码使用decoder。一种典型的应用场景就是rpc(remoteprocedurecalls)。gob和json的pack之类的方法一样,由发送端使用enco...- 0
- 0
- 0
- 0
- 0
Go语言1.15 中 var i interface{} = 3 会分配额外堆内存?
首先先说一下结论:没有。在最新版本Go1.15中,在runtime部分中提到了一个改进:Convertingasmallintegervalueintoaninterfacevaluenolongercausesallocation.意思是说,将小整数转换为接口值不再需...- 0
- 0
- 0
- 0
- 0
golang 实现时间戳和时间的转化
说实话,golang的时间转化还是很麻烦的,最起码比php麻烦很多,上码好好学学一下packagemainimport("time""fmt")funcmain(){//获取当前时间t:=time.now()//2018-07-1115:07:51.8858085+0800cstm=+...- 0
- 0
- 0
- 0
- 0
matplotlib绘制多子图共享鼠标光标的方法示例
matplotlib官方除了提供了鼠标十字光标的示例,还提供了同一图像内多子图共享光标的示例,其功能主要由widgets模块中的multicursor类提供支持。multicursor类与cursor类参数类似,差异主要在:curso...- 0
- 0
- 0
- 0
- 0
golang 如何获取文件夹下面的文件列表
golang的文档里面比较容易找到的一个方法是filepath.walk,这个方法有个问题是会自动递归遍历当前目录的子目录,其实我们通常只是想得到一个目录下面的文件列表,并不需要这么多的信息,同时这个方...- 0
- 0
- 0
- 0
- 0
[系列] Gin框架 - 自定义错误处理
目录概述很多读者在后台向我要gin框架实战系列的demo源码,在这里再说明一下,源码我都更新到github上,地址:https://github.com/xinliangnote/go开始今天的文章,为什么要自定义错误处理?默认的错...- 0
- 0
- 0
- 0
- 0