import ( "github.com/thinkeridea/go-extend/exnet" "net" "net/http" ) // RemoteIp 返回远程客户端的 IP,如 192.168.1.1 fun…
标签:go
Go modules使用心得一
Modules和Vendor Vendor 使用的时候,代码依旧要放在go path路径下 每个项目都要有一个vendor项目,然后下载到项目下的此目录,重复率很高 modules 可以放在任何目录,配置好代理,下载方便…
Go语言:简介(二)
Go语言:简介(二) 对Go语言了解前,我们先来补一些基本概念 基本概念 并发程序 一个并发程序可以在一个处理器或者内核上使用多个线程来执行任务,但是只有同一个程序在某个时间点同时运行在多核或者多处理器上才是真正的并行。…
[golang]字符串类型转换的封装
在处理url参数时,你是否会因为要经常将字符串类型转换为其他类型,而感觉到代码冗长,麻烦?这里推荐一个字符串封装库,具体实现非常简单,可到study-only/values查看,下面给出用法: import "githu…
我们应该如何(以及为什么)要将Typescript与Express、nodejs一起使用
在我的职业生涯开始时,我是一名桌面应用开发人员,其中强类型语言占据了市场主导地位。 当我迁移到Web开发时,我对JavaScript和Python等语言的每个新功能都很着迷。事实上,我没有必要声明变量的类型,这极大的提高…
go-micro 框架源码剖析 之 函数选项模式
近期在查阅go-micro源码过程中发现,在设置创建微服务的参数选项时都依赖于项目外层一个名为 github.com/micro/go-micro/options.go的文件,它定义了创建一个微服务所需要的各种参数选项,…
[译]go错误处理
原文来自Error handling and Go 背景介绍 如果你有写过Go代码,那么你可以会遇到Go中内建类型error。Go语言使用error*值来显示异常状态。例如,os.Open在打开文件错误时,会返回一个非n…
Go符合类型
Go复合类型 1、数组 长度固定,下标访问 var a [3]int // 初始化零值 var b [3]int = [3]int{1,2,3} var c [3]int = [...]int{1,2,3} d := […
go标准库之flag包
命令行参数常用来为命令行程序指定选项。比如在 wc -l 命令中 -l 就是命令行参数。golang 提供了 flag 包来支持基本的命令行参数解析。 命令行语法 命令行语法如下: -flag -flag=x -flag…
【go同步编程】
锁 互斥锁 函数write中的这条defer语句保证了在该函数被执行结束之前互斥锁mutex一定会被解锁。 var mutex sync.Mutex func write() { mutex.Lock() defer m…
基于go的反射实现查询生成器
基于go的反射实现查询生成器 参考go系列教材反射章节,源代码没有实现输出字段,我根据对反射的理解实现了对字段进行输出。beego的orm就是基于反射实现的。 /* # @Time : 2019-01-05 16:57 …
Go Module 工程化实践(一):基础概念篇
人的一切痛苦,本質上都是對自己的無能的憤怒。 — 王小波 1. 基础概念篇 Go Module已经来了,默认Go Module模式将会在1.13版本发布。也就是说半年后,就会全面铺开。鉴于官方提供扫盲文档中的…