#go语言

Go语言中的事务怎么使用

事务实践服务端在进行和数据库交互时,对于一些场景我们可能会使用事务来保证数据的幂等性。比如在一个更新的场景时基本操作流程时如下:开启数据库事务通过ID获取数据记录确认是否可以进行更新操作如果可以更新操作就更新记录提交事务如果遇到错误,就回滚事务在从数据库中获取数据时,可以通过锁行的方式防止其他服务或者程序也对这条记录进...

Go语言生成随机数

在日常开发中,生成随机数是很常见的需求,Go语言有两种方式来生成随机数,分别由 math/rand 和 crypo/rand 库来提供。为什么会提供两种方式呢?其实两者是有区别的,math 提供的是伪随机数,生成的随机序列不是真正的随机;而 crypo&nbs...
开发笔记 ·2024-02-24

go语言适合做什么

 Go语言目前在云计算、容器虚拟化、分布式存储、网络爬虫、运维开发、Web开发、服务端开发、区块链、IoT等领域都有所应用。  服务端开发  以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等;  爬虫及大数据  Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理;  网...
开发笔记 ·2022-04-16

Ubuntu 搭建GO语言开发环境

一、下载Go语言安装包官网下载地址:https://golang.org/dl/,使用tar命令将档案包解压到/usr/local目录中:sudotar-C/usr/local-xzfgo1.11.5.linux-amd64.tar.gz二、添加环境变量和工作变量到系统环境中先进入到profile文件目录:cd/etc...

Rabbitmq 消费者的推模式与拉模式(go语言版本)

   RabbitMQ的消费者有两种模式实现RabbitMQ的消费者有两种模式,推模式(Push)和拉模式(Pull)。推模式:消息中间件主动将消息推送给消费者拉模式:消费者主动从消息中间件拉取消息推模式将消息提前推送给消费者,消费者必须设置一个缓冲区缓存这些消息。好处很明显,消费者总是有...

[翻译]Go语言调度器

本文翻译DanielMorsing的博文TheGoscheduler。个人认为这篇文章把GoRoutine和调度器的知识讲的浅显易懂。作为一篇介绍性的文章。非常不错。介绍Go1.1版本号最大的特性之中的一个就是一个新的调度器,由DmitryVyukov贡献。这个新的调度器为并行Go程序带来了令人激动、无以后继的性能提升...
代码星球 ·2021-02-13

Go语言---小白入门-命令行库Cobra的使用

Cobra既是用于创建强大的现代CLI应用程序的库,也是用于生成应用程序和命令文件的程序。Cobra提供的功能:简易的子命令行模式,如appserver,appfetch等等完全兼容posix命令行模式嵌套子命令subcommand支持全局,局部,串联flags使用Cobra很容易的生成应用程序和命令,使用cobrac...

Go语言框架:Beego vs Gin 的区别

前言:一切语言、技术或者框架,本质都是工具,工具的价值在于为使用者提供竞争优势。一、Beego和Gin全方位比较MVCBeego支持完整的MVC,Gin不支持完整的MVC(需要开发者自己实现MVC)路由&SessionBeego支持正则路由,Gin不支持正则路由Beego支持Session,Gin不支持Sess...
代码星球 ·2021-02-13

GO语言从入门到放弃目录

第一个GO程序GO语言常量和变量GO语言数据类型GO语言流程控制GO值类型与引用类型区别GO语言数组GO语言切片GO语言mapGO语言数组,切片,MAP总结GO语言函数GO语言指针GO语言结构体Go语言接口GO语言Error处理GO语言并发GO语言测试GO语言网络编程GO语言html模板GO语言GIN框架入门GO语言的...

GO语言GIN框架入门

Gin是一个用Go语言编写的web框架。它是一个类似于martini但拥有更好性能的API框架,由于使用了httprouter,速度提高了近40倍。中文文档安装GIN$goget-ugithub.com/gin-gonic/gin第一个Gin程序packagemainimport"github.com/gin-goni...
代码星球 ·2021-01-23

GO语言Error处理

Go语言没有提供像Java、C#、Python语言中的try...catch异常处理方式,而是通过函数返回值逐层往上抛。好处就是避免漏掉本应处理的错误。坏处是代码啰嗦。错误指的是可能出现问题的地方出了问题,比如打开文件失败。异常是不应该出现问题的地方出了问题,比如空指针。Go中的错误是一种类型,错误用内置的error类...
代码星球 ·2021-01-23

GO语言数组,切片,MAP总结

数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1,访问越界(下标在合法范围之外),则触发访问越界,会pan...
代码星球 ·2021-01-23

GO语言html模板

一个模板是一个字符串或一个文件,里面包含了一个或多个由双花括号包含的{{action}}对象。大部分的字符串只是按面值打印,但是对于actions部分将触发其它的行为。每个actions都包含了一个用模板语言书写的表达式,一个action虽然简短但是可以输出复杂的打印值,模板语言包含通过选择结构体的成员、调用函数或方法...
代码星球 ·2021-01-23

GO语言网络编程

Socket是BSDUNIX的进程通信机制,通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。Socket可以理解为TCP/IP网络的API,它定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。电脑上运行的应用程序通常通过”套接字”向网络发出请求或者应答网络请求。Socket是应...
代码星球 ·2021-01-23

GO语言测试

Go语言的测试技术是相对低级的。它依赖一个gotest测试命令和一组按照约定方式编写的测试函数,测试命令可以运行这些测试函数。编写相对轻量级的纯测试代码是有效的,而且它很容易延伸到基准测试和示例文档。编写测试代码和编写普通的Go代码过程是类似的,并不需要学习新的语法、规则或工具。在包目录内,所有以_test.go为后缀...
代码星球 ·2021-01-23
首页上一页12345...下一页尾页