go实现冒泡排序的示例代码

冒泡排序: (Bubble Sorting)基本思想是通过对待排序序列从后向前(从下标较大的元素开始)以此比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后补移向前部(从...

Go基于GORM 获取当前请求所执行的 SQL 信息(思路详解)

前言为了便于精准排查问题,需要将当前的请求信息与当前执行的 SQL 信息设置对应关系记录下来,记录的 SQL 信息包括: 执行 SQL 的当前时间; 执行 SQL 的文件地址和行号; 执行 S...

GO开发编辑器安装图文详解

一.Go开发编辑器 开发工具多种多样, 选择一款适合自己的编辑器, 并且还要兼顾高效轻量 适用于go语言开发的编辑器有很多,包含GoLand、IDEA、VS Code等 甚至使用submit、n...

golang解析yaml文件操作

首先安装解析的第三方包:go get gopkg.in/yaml.v2示例:package main import ( "os" "log" "fmt" "encoding/json" "gopkg.in/yaml.v2") type Config struct { Test Test `yam...

Go语言模型:string的底层数据结构与高效操作详解

Golang的string类型底层数据结构简单,本质也是一个结构体实例,且是const不可变。string的底层数据结构通过下面一个例子来看:package mainimport ( "fmt" "unsafe")// from: st...

golang 获取字符串长度的案例

1.不同字符与获取字符串长度获取字符串长度,是字符串操作的重要方法。理论来说,获取字符串长度,只要从头到尾查找一遍就可以了。但遗憾的是,不同字符具有不同的编码格式。拉丁字...

解决golang json解析出现值为空的问题

我是通过beego框架,将请求过来的json进行解析,并将值保存在结构体中--------------------1--------------------- request := UpdateCommentRequestData{} req := common.Requ...

Go http client 连接池不复用的问题

当 http client 返回值为不为空,只读取 response header,但不读 body 内容就执行 response.Body.Close(),那么连接会被主动关闭,得不到复用。测试代码如下:// xiaorui.cc func Ht...

golang 切片截取参数方法详解

以 s := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}为例0. 建议:做slice截取时建议用两个参数,尤其是从底层数组进行切片操作时,因为这样在进行第一次append操作时,会给切片重新分配...

golang 各种排序大比拼实例

1、准备工作准备数据:生成随机数并写入文件,之后在把数据读取出来//新生成整数随机数,并存储在txt文件中,func NewIntRandm(fileName string, number, maxrandm int) { filename...

go 迭代string数组操作 go for string[]

go 迭代string数组,直接拷贝去用即可package mainimport ("fmt")func main() { subsCodes := []string{"aaaa", "vvvvv", "dddd", "eeeee", "gfgggg"} for _, s := range...

解决Golang json序列化字符串时多了\的情况

我们在对外提供API接口,返回响应的时候,很多时候需要使用如下的数据结构type Response struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json...

golang中json的omitempty使用操作

我就废话不多说了,大家还是直接看代码吧~package mainimport ("encoding/json""fmt")type Project struct { Name string `json:"name"` Url string `json:"url"` Docs strin...

golang遍历时修改被遍历对象的示例详解

前言很多时候需要将遍历对象中去掉某些元素,或者往遍历对象中添加元素,这时候就需要小心操作了。
对于go语言中的一些注意事项我做了总结和示例,留下点笔记。遍历切片1.遍历切...

利用golang的字符串解决leetcode翻转字符串里的单词

题目给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: "the sky is blue"输出: "blue is sky the"示例 2:输入: " hello world! "输出: "world! hello"解释: 输入字符...

Golang压缩Jpeg图片和PNG图片的操作

博主一直在维护一个导出PDF的服务,但是这个服务导出的PDF文件是真的巨大,动辄就上百MB。这里面主要是图片占据了大多数体积,所以考虑在导出前压缩一下图片。Jpeg的图片压缩是很...

使用Go module和GoLand初始化一个Go项目的方法

1 简介Golang 是一门优秀的语言,特别是在并发编程上,得益于它的协程和 channel 等,非常方便易用。它通过 go module 来管理包和依赖,本文介绍如何利用它创建一个项目。2 重要的...

Go语言设置JSON的默认值操作

给需要设置的JSON字段初试化你想设置的值就OK。比如我想让[]string类型的字段的默认值是[],而不是nil,那我就make([]string, 0)赋值给该字段。转成JSON输出后,就是[]。1. 示例...

golang时间处理工具箱now的使用详解

golang不像C#,Java这种高级语言,有丰富的语法糖供开发者很方便的调用。所以这便催生出很多的开源组件,通过使用这些第三方组件能够帮助我们在开发过程中少踩很多的坑。时间处理...

golang切片扩容规则实现

golang扩容规则举个例子来演示下
package mainimport ("fmt")func main() {arr1 := [4]int{1,2,3,4}//此时slice1为[1,2,3] 长度为3,容量为4slice1 :=arr1[:3]fmt.Println(sl...

Go语言实现登录验证代码案例

用Go语言实现登录验证,有3次机会,如果用户名为 zhangsan ,密码为 123456 ,则提示登录成功,否则提示还有几次机会,次数用完,提示登录失败。代码如下:package mainimport "fmt"func ma...

关于Golang变量初始化/类型推断/短声明的问题

视频: https://www.bilibili.com/video/BV1Zh411k7iB/声明变量同时初始化上节我们了解了三种变量声明的语法,并且知道未初始化的变量初始值都是其类型的零值其实只需要在声明...

golang官方嵌入文件到可执行程序的示例详解

前言在go官方出嵌入文件的方法前我在网上找过,并且自己还研究过,虽然没有问题,但是既然官方支持还是用起来吧。
看了下go源码embed/embed.go很简单,并且看embed/internal/embedt...

Go语言实现布谷鸟过滤器的方法

转载请声明出处哦~,本篇文章发布于luozhiyun的博客: https://www.luozhiyun.com/archives/453介绍在我们工作中,如果遇到如网页 URL 去重、垃圾邮件识别、大集合中重复元素的判...

golang快速实现网页截图的方法

golang是近几年发展非常迅猛的一款服务器端的语言,其生态也日益丰富。对于使用golang实现网页截图这个需求,笔者在经过一番调研之后发现大家有推荐Selenium方案,但是这一方案问...

Go语言实现二维数组的2种遍历方式以及案例详解

二维数组遍历的2种方式:package mainimport ( "fmt")func main() { //定义一个二维数组 var arr = [2][3]int{{1, 4, 3},{7, 5, 6}} //方式1. 用for循环来遍历 for i := 0; i...

解决golang gin框架跨域及注解的问题

在golang的路上缓慢前进 Gin框架 跨域问题的解说与方法代码如下:package main import ( "github.com/gin-gonic/gin" "awesomeProject/app/app_routers" "strings" "fmt" "ne...

golang 实现json类型不确定时的转换

将json转为结构体时,经常会遇到无法确定某个字段类型的情况。在Go中可以使用interface 任意类型来解决。// convert json to struct// type uncertainpackage mainimport ( "...

详解go-admin在线开发平台学习(安装、配置、启动)

项目介绍go-admin 是一个中后台管理系统,基于(gin, gorm, Casbin, Vue, Element UI)实现。主要目的是为了让开发者更专注业务,减少重复代码的编写,节省时间,提升人效,缩短项目周期,...

golang1.16新特性速览(推荐)

golang1.16也在今天正式发布了。原定计划是2月1号年前发布的,不过迟到也是golang的老传统了,正好也趁着最后的假期快速预览一下golang1.16的新特性吧。语言內建的资源嵌入支持...

详解go语言中type关键词的几种使用

type是go语法里的重要而且常用的关键字,type绝不只是对应于C/C++中的typedef。搞清楚type的使用,就容易理解go语言中的核心概念struct、interface、函数等的使用。以下我用例...

Golang定时器的2种实现方法与区别

不得不说,golang的sdk做了太多的东西,定时器在golang里实现起来非常的简单两种方式 NewTicker() NewTimer()
代码如下NewTicker() 方式func foo() { fmt.Println("foo() s...

golang实现微信支付v3版本的方法

一、准备阶段 获取私钥官方文档 https://kf.qq.com/faq/161222N...获取私钥证书的序列号 https://pay.weixin.qq.com/wik...openssl x509 -in 1900009191_20180326_cert.pem...

使用go实现常见的数据结构

1 golang常见数据结构实现1.1 链表举单链表的例子,双向链表同理只是多了pre指针。定义单链表结构:type LinkNode struct { Data int64 NextNode *LinkNode}构造链表及打印链表...

Go中time.RFC3339 时间格式化的实现

在开发过程中,我们有时会遇到这样的问题,将 2020-11-08T08:18:46+08:00 转成 2020-11-08 08:18:46,怎么解决这个问题?
解决这个问题,最好不要用字符串截取,或者说字符串截取是最笨...

golang类型转换组件Cast的使用详解

开源地址
https://github.com/spf13/castCast是什么?
Cast是一个库,以一致和简单的方式在不同的go类型之间转换。Cast提供了简单的函数,可以轻松地将数字转换为字符串,将接口转...

golang实现京东支付v2版本的示例代码

一、准备阶段 pc&h5 接入步骤官方文档 https://payapi.jd.com/docList...查看主要接入步骤密钥生成• 需要设置desc key• md5 key 和 app id app对接会使用&#822...

使用golang实现在屏幕上打印进度条的操作

GoSimplePrint 是一款用go写的开源简单进度条打印包。我可以利用它,在自己项目中需要加入进度条功能。1、安装 go get -u github.com/redmask-hb/GoSimplePrint/goPrint2、初...

Go语言使用读写OPC详解

注意:当前功能仅在windows下可使用参考链接:https://github.com/konimarti/opc
命令行窗口必须在管理员权限下打开,不然该命令会无效环境配置 使用amd64编译的情形把x64位的gbd...

Golang 端口复用测试的实现

先给出结论:同一个进程,使用一个端口,然后连接关闭,大约需要30s后才可再次使用这个端口。测试
首先使用端口9001连接服务端,发送数据,然后关闭连接,接着再次使用端口9001连接服务端...

gin解析json格式的数据出错的处理方案

写的接口给测试测试,现在还没有页面,直接测试接口。使用c.BindJSON(&req)总是报错,大致错误信息如下:err="invalid character '-' in numeric literal"这是由于我的接口要求将参...

2021-05-08

golang三元表达式的使用方法

golang并没有像C语言一样提供三元表达式。三元表达式的好处是可以用一行代码解决原本需要多行代码才能完成的功能,让冗长的代码瞬间变得简洁。不过对于新手来说,建议还是少用...

Golang 语言高效使用字符串的方法

01介绍在 Golang 语言中,string 类型的值是只读的,不可以被修改。如果需要修改,通常的做法是对原字符串进行截取和拼接操作,从而生成一个新字符串,但是会涉及内存分配和数据拷贝,...

golang 如何替换掉字符串里面的换行符\n

原始字符串:-----BEGIN LICENSE KEY-----\nL/+HAwEBB2xpY2Vuc2UB/4gAAQIBB1BheWxvYWQBCgABCVNpZ25hdHVyZQEKAAAA\n/gPo/4gB/gHd/7AQABpsaWNlbnNlLW1nci9jb25maWcuUGF5bG9hZP+...

Golang Printf,Sprintf,Fprintf 格式化详解

1.`Sprintf` 则格式化并返回一个字 符串而不带任何输出。s := fmt.Sprintf("是字符串 %s ","string")2. fmt.Println(s) // 是字符串 %s 对应 是字符串 string3.可以使用 `F...

golang端口占用检测的使用

在运维开发的过程中,经常碰到这样的情况:启动某个应用前,需要先检测一下端口是否被其他的应用占用了,若占用了,能否得到占用进程的PID。后续可以根据这个PID,查找是哪个...

go语言实现简易比特币系统钱包的原理解析

钱包基础概念 广义上,钱包是一个应用程序,为用户提供交互界面。钱包控制用户访问权限、管理比特比地址及秘钥、跟踪余额、创建交易和签名交易 狭义上,即从程序员角度来看,“钱...

go语言实现简易比特币系统之交易签名及校验功能

介绍签名的输入: 待签名的交易数据,包括输入和输出 引用的UTXO信息 私钥签名的输出: 数字数字签名 公钥签名的目的 证明交易所引用的UTXO的确属于付款人...

基于golang uint8、int8与byte的区别说明

简单说明uint8与byte可以说是一样的,因为文档中有这样的定义:The Go Programming Language SpecificationNumeric typesuint8 the set of all unsigned 8-bit integers (0 to...

golang 中strings包的Replace的使用说明

函数声明为:func Replace(s, old, new string, n int) string官方描述为:返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换所有old子串。示例代码为,每行的结果...

返回顶部
顶部