<span>go module 基本使用</span>

前言 go的版本以至1.13,一直以来令人诟病的依赖管理也有了官方的方向,但是看了一下目前很多blog文章还是比较老的. 所以这里对gomod做一个大致的说明 正文 前提 go版本为1.13及以上 官方文档 如果你想更深层次的了解GOMODULE的意义及开发者们的顾虑,可以直接访问官方文档(EN) https://github.com/golang/go/wiki/Modules gomodule介绍 gomodule是go官方自带的go依赖管理库,在1.13版本正式推荐使用 gom

  • 0
  • 0
  • 阅读 ( 1230 )

<span>19. 一文搞懂 Go Modules 前世今生及入门使用</span>

Hi,大家好。 我是明哥,在自己学习Golang的这段时间里,我写了详细的学习笔记放在我的个人微信公众号《Go编程时光》,对于Go语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习Go语言,不防关注一下,一起学习,一起成长。 在线博客:http://golang.iswbm.com Github:github.com/iswbm/GolangCodingTime 在以前,Go语言的的包依赖管理一直都被大家所

  • 0
  • 0
  • 阅读 ( 1295 )

<span>Go - 代码生成工具</span>

分享两个常用的代码生成工具: gormgen handlergen gormgen 基于MySQL数据表结构进行生成3个文件: 生成表的struct结构体 生成表的Markdown文档 生成表的CURD方法 场景 在进行业务需求开发时,创建完数据表后,执行代码生成工具,常用的CURD操作全部生成完毕,使用的时候只需要.后面的方法即可,这样大大提高了业务开发效率。 示例 表结构: CREATETABLE`user_demo`( `id`int(11)unsignedNOTNULLAUTO_IN

  • 0
  • 0
  • 阅读 ( 1512 )

<span>golang学习笔记——面向对象(接口)</span>

接口 定义及使用 packagemain   import(    "fmt" )   //定义一个接口 typeHumaninterface{    sayHello() }   typeStudentstruct{    namestring    age  int }   typeTeacherstruct{    groupstring }   func(stu*Student)sayHello(){    fmt.Printf("Student[%s,%d]n",stu.name,stu.

  • 0
  • 0
  • 阅读 ( 1256 )

<span>Go | Go 结合 Consul 实现动态反向代理</span>

Go结合Consul实现动态反向代理 代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端。 TableofContents 反向代理 实现逻辑 Go语言实现 原生代码 httputil.ReverseProxy工具实现 接入consul实现动态代理 参考 反向代理 反向代理(ReverseProxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器

  • 0
  • 0
  • 阅读 ( 1296 )

<span>golang学习笔记——基础知识(1)</span>

观看B站李文周老师的视频学习golang整理的笔记   变量 定义 var 变量名 变量类型 多个 var(     a  int     b  int ) 自动识别变量类型运算符“:=” a:=10 匿名变量符“_” a,_,c:=1,2,3//其中2将不会被赋值 定义类型别名 type 别名类型 //typecjpint32 需要再main函数外面为类型定义别名   常亮 定义 const 常量名= 值 定义多个常亮 const{   a=10

  • 0
  • 0
  • 阅读 ( 1240 )

<span>记一个 aliyun tablestore go client 的大坑</span>

有个项目年前要做最后一次上线。项目中有用到aliyuntablestore的一个模块我做了一次重构。 这个模块的主要功能为从Kafka订阅消息,做一个的格式化处理之后存储到aliyun的TableStore。并且提供接口根据查询参数从aliyuntablestore查询相关的数据。重构后查询接口的部分代码如下: funcGetLimit(userID,deviceNamestring,messageIDint64,limitint32)([]*StoredMessage,error){ request:

  • 0
  • 0
  • 阅读 ( 1789 )

<span>[Go]Golang 1.16 中 Modules的主要变化更新</span>

本文转载,目的方便查阅 01介绍 Golang1.16已经正式发布了,其中Modules有一些变化: 默认开启Modules。 不自动修改 go.mod 和 go.sum。 通过指定 @version 后缀安装特定版本可执行文件。 新增 retract 指令撤回Module版本。 使用新增配置变量GOVCS指定特定模块使用特定版本控制工具。 02默认开启Modules golang1.16默认开启Modules,即使不存在 go.mod,Go命令现在默认情况下也会在 module-aware(

  • 0
  • 0
  • 阅读 ( 1841 )

<span>go get下载包失败问题</span>

由于某些不可抗力的原因,国内使用goget命令安装包时会经常会出现timeout的问题。本文介绍几个常用的解决办法。 从github克隆 golang在github上建立了一个镜像库,如https://github.com/golang/net就对应是https://golang.org/x/net的镜像库。要下载golang.org/x/net包,可以在本地创建包的目录后使用gitclone来拉取相应包的源代码文件,具体操作如下: mkdir-p$GOPATH/src/golang.org/x cd$G

  • 0
  • 0
  • 阅读 ( 1327 )

<span>now-go时间百宝箱</span>

golang不像C#,Java这种高级语言,有丰富的语法糖供开发者很方便的调用。所以这便催生出很多的开源组件,通过使用这些第三方组件能够帮助我们在开发过程中少踩很多的坑。 时间处理是所有语言都要面对的一个问题,parse根据字符串转为date类型,tostring()将date类型转为定制化的字符串。 在实际使用过程中,parse的使用有一种不是很舒服的方法。 上源码 time1,_:=time.Parse("2006-01-0

  • 0
  • 0
  • 阅读 ( 1304 )

<span>go-admin在线开发平台学习-4[细节解析]</span>

紧接着上一期的内容,继续对go-admin的一些细节进行解析。 通用的增删改查方法 在go-admin/common/actions下封装了通用的增删改查方法。在对这些方法进行说明前,先移步到另一个文件夹下go-admin/common/dto/generate.go&amp;type.go 这俩个文件的内容在整个web请求中都至关重要,首先看 type.go 里面只有俩个接口,根据笔者的实践这俩个接口的作用应该是这样的 Index 1、绑定查询参数 2、分页

  • 0
  • 0
  • 阅读 ( 1019 )

<span>[GO]使用go-smtp发送邮件通知</span>

直接使用go-smtp包 ,为了防止乱码,主题subject进行了base64编码 import( "encoding/base64" "github.com/emersion/go-sasl" "github.com/emersion/go-smtp" "strings" ) funcSendSmtp(serverstring,fromstring,passwordstring,to[]string,subjectstring,bodystring)error{ auth:=sasl.NewPlai

  • 0
  • 0
  • 阅读 ( 1247 )

<span>golang官方嵌入文件到可执行程序</span>

目录前言示例程序嵌入文件直接访问嵌入文件列表嵌入http服务器总结 前言 在go官方出嵌入文件的方法前我在网上找过,并且自己还研究过,虽然没有问题,但是既然官方支持还是用起来吧。 看了下go源码embed/embed.go很简单,并且看embed/internal/embedtest/embed_test.go就知道如何使用。 示例程序 嵌入文件直接访问 原理是使用go:embed标签来完成。下面是直接读取文件内容,需要注意下

  • 0
  • 0
  • 阅读 ( 1547 )

<span>go-admin在线开发平台学习-3[细节解析]</span>

本章节主要的内容是对go-admin中的一些有趣编码进行分析,为自己以后提供一些借鉴 使用cli方式启动项目 使用cobra[眼镜蛇]完成强壮cli的工具,确保稳定。 使用cli的方式启动项目的好处显而易见,可以在进行配置的自定义化,而不是固定的使用某个配置文件中的信息。在一些需要频繁更换命令参数的场景下尤为有效。 cobra的使用有一个默认的规定,即新建一个cmd文件夹,基于

  • 0
  • 0
  • 阅读 ( 1254 )

<span>go-admin在线开发平台学习-2[程序结构分析]</span>

紧接着上一篇,本文我们对go-admin下载后的源码进行分析。 首先对项目所使用的第三方库进行分析,了解作者使用的库是否是通用的官方库可以有助于我们更快地阅读程序。接着对项目的main()方法进行分析,因为程序使用cli的方式启动,对cli不同的命令进行分析。基于此俩点开始工作。 go-admin中使用的第三方库 cobra 强大的cli封装,支持命令嵌套 cast 简单安全的类型转换 casbin

  • 0
  • 0
  • 阅读 ( 1653 )

<span>go好用的类型转换第三方组件</span>

Cast介绍 开源地址 https://github.com/spf13/cast Cast是什么? Cast是一个库,以一致和简单的方式在不同的go类型之间转换。 Cast提供了简单的函数,可以轻松地将数字转换为字符串,将接口转换为bool类型等等。当一个明显的转换是可能的时,Cast会智能地执行这一操作。它不会试图猜测你的意思,例如,你只能将一个字符串转换为int的字符串表示形式,例如“8”。Cast是为Hugo开发的,Hu

  • 0
  • 0
  • 阅读 ( 1371 )

<span>golang1.16新特性速览</span>

今天是假期最后一天,明天起大家也要陆续复工了。golang1.16也在今天正式发布了。 原定计划是2月1号年前发布的,不过迟到也是golang的老传统了,正好也趁着最后的假期快速预览一下golang1.16的新特性吧。 本文索引 语言內建的资源嵌入支持 支持arm64 gomodules的新特性 GO111MODULE现在默认为on gobuild不在更改mod相关文件 goinstall的变化 新的GOVCS环境变量 相对路径导入不在被允许 标

  • 0
  • 0
  • 阅读 ( 1435 )

<span>Go string 一清二楚</span>

前言 字符串(string)作为go语言的基本数据类型,在开发中必不可少,我们务必深入学习一下,做到一清二楚。 本文假设读者已经知道切片(slice)的使用,如不了解,可阅读Go切片基本知识点 为了更好的理解后文,推荐先阅读Unicode字符集,UTF-8编码 是什么 InGo,astringisineffectaread-onlysliceofbytes. 在go语言中,字符串实际上是一个只读的字节切片,其数据结构定义如下: //runtime/st

  • 0
  • 0
  • 阅读 ( 1510 )

<span>go-admin在线开发平台学习-1[安装、配置、启动]</span>

项目介绍 go-admin是一个中后台管理系统,基于(gin,gorm,Casbin,Vue,ElementUI)实现。主要目的是为了让开发者更专注业务,减少重复代码的编写,节省时间,提升人效,缩短项目周期,提升软件的开发效率以及质量。 下载项目 gitclonehttps://github.com/go-admin-team/go-admin.git 使用git下载go-admin项目,作为一个程序员,如果说你不会使用git,那就有点说不过去了吧 本地环境准备 项目采用前后

  • 0
  • 0
  • 阅读 ( 1330 )

<span>go-zero解读与最佳实践(上)</span>

本文有『Go开源说』第三期go-zero直播内容修改整理而成,视频内容较长,拆分成上下篇,本文内容有所删减和重构。 大家好,很高兴来到“GO开源说”跟大家分享开源项目背后的一些故事、设计思想以及使用方法,今天分享的项目是go-zero,一个集成了各种工程实践的web和rpc框架。我是Kevin,go-zero作者,我的githubid是kevwan。 go-zero概览 go-zero虽然是20年8月7号才开源,但是已经经

  • 0
  • 0
  • 阅读 ( 1276 )