Go语言
文章平均质量分 80
Go语言学习实践整理
ZWZhangYu
这个作者很懒,什么都没留下…
展开
-
使用Go语言实现try{}catch{}finally
Java开发肯定都熟悉try{}catch{}finally,在使用Go语言实现前,我们需要先搞清楚这三个步骤的流程:【1】先执行try代码块,然后是catch代码块,其次是finally代码块【2】catch会在try代码块发生异常时执行,常用于捕获异常然后回滚事务【3】三个代码块的内部互相独立,内部声明的对象变量不共享上面定义了TcfBlock 的结构体,结构体里面有三个函数,这三个函数就对应的try{}catch{}finally的三个步骤,在下面的Do方法中构建了三个函数的执行流程......原创 2022-06-30 21:18:03 · 1481 阅读 · 0 评论 -
GoLang 使用validator包优雅的校验字段 去除冗余的条件判断
go-playground/validator包是验证器实现了结构体的值验证,基于结构体的tag进行字段属性校验。能够处理基本类型,复杂类型,嵌套字段类型,数组,map等等。是gin框架的默认验证器。目前的版本是V10。这种校验的方式对于熟悉Java的开发者有种似曾相识的感觉,和SpringMVC注解式的校验字段非常类似。go-playground/validator可以单独对结构体、特定的变量进行校验,也可以很方便的与一些框架集成,作为Web请求参数校验器,比如Gin框架。原创 2022-05-10 21:28:24 · 2150 阅读 · 0 评论 -
Protobuf Go GPRC Java跨语言调用 笔记整理
Protocol buffers是 Google 开发的,语言中立、平台中立、可扩展的结构化数据序列化机制,就像 XML,但是它更小、更快、更简单。你只需定义一次数据的结构化方式,然后就可以使用特殊生成的源代码轻松地将结构化数据写入和读取各种数据流,支持各种语言。Protobuf中最基本的数据单元是message,是类似Go语言中结构体的存在。在 message中可以嵌套message或其它的基础数据类型的成员。原创 2022-05-10 12:35:09 · 1248 阅读 · 1 评论 -
Golang 错误和异常
在Go语言中,错误和异常是不相同的俩个概念。错误被认为是一种可以预期的结果;而异常则是一种非预期的结果, 发生异常可能表示程序中存在BUG或发生了其它不可控的问题。Go语言推荐使 用 recover 函数将内部异常转为错误处理,这使得用户可以真正的关心业务相关的错误处理。原创 2022-05-03 13:25:59 · 1874 阅读 · 0 评论 -
Golang 读取和映射ini配置文件到结构体
这里使用go-ini 工具提供的 MapTo 的方式来映射结构体。官方文档:https://pkg.go.dev/gopkg.in/ini.v1【配置文件】port = 9000release = false[mysql]user = rootpassword = 123456host = 127.0.0.1port = 3306db = go【安装模块】go get gopkg.in/ini.v1【功能代码】import ( "fmt" "gopkg.in/ini.v1原创 2022-04-27 20:36:05 · 1741 阅读 · 0 评论 -
GoLang Gin框架WEB开发功能整理
文章目录(1)gin框架RESTful API示例(2)JSON序列化(3)获取请求参数(4)获取form参数(5)获取JSON参数(6)获取path参数(7)参数绑定(8)文件上传(9)重定向(10)路由和路由组(11)中间件Gin 是一个用 Go (Golang) 编写的 Web 框架。它具有类似martini-like的 API,由于 httprouter,性能提高了 40 倍,有良好的性能的生产力。本文整理了十几个WEB开发的常用功能实例。(1)gin框架RESTful API示例import原创 2022-04-25 14:37:57 · 1874 阅读 · 0 评论 -
Go语言学习实践 数组 字符串 切片
切片就是一种简化版的动态数组。因为动态数组的长度是不固定,切片的长度自然也就不能是类型的组成部分了。数组虽然有适用它们的地方,但是数组 的类型和操作都不够灵活,因此在Go代码中数组使用的并不多。而切片则使用得相当广泛。原创 2022-04-05 22:13:49 · 2952 阅读 · 0 评论 -
GO语言基础入门
文章目录(1)基础语法(2)指针和引用(3)数组(1)基础语法【1】Go 程序的一般结构: basic_structure.go// 当前程序的包名package main// 导入其他包import . "fmt"// 常量定义const PI = 3.14// 全局变量的声明和赋值var name = "gopher"// 一般类型声明type newType int// 结构的声明type gopher struct{}// 接口的声明type golang inter原创 2022-04-05 18:39:35 · 4095 阅读 · 0 评论