经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 Go语言

[Go] embed指令嵌入静态文件到二进制包

go 1.16开始提供了embed指令 , 可以将静态资源嵌入到编译包里面 这样就可以把网页模板等文件直接打包了,就不需要每次还要拷贝静态文件 常规用法: import _ "embed" go:embed hello.txt var s string func main() { ...[2021/5/7]

Golang实现http文件上传小功能的案例

看代码吧~ package main import ( "fmt" "io" "net/http" "os" ) func main() { http.HandleFunc("/", index) http.HandleFunc("/upload", upl...[2021/5/7]

golang 如何实现HTTP代理和反向代理

代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端。 代理的功能有很多,事实上整个互联网到处都充斥着代理服务器。如果所有的 HTTP 访问都是客户端和服务器端直接进行的话,我们的网络不仅会变得缓慢,而且性能会大打折扣。 代理服务器根据不同的配置和使...[2021/5/7]

简单聊聊内存逃逸 | 剑指offer - golang

问题 简单讲讲golang的内存逃逸吗? 解析 什么是内存逃逸 在程序中,每个函数块都会有自己的内存区域用来存自己的局部变量(内存占用少)、返回地址、返回值之类的数据,这一块内存区域有特定的结构和寻址方式,寻址起来十分迅速,开销很少。这一块内存地址称为栈。栈是线程级别的,大小在创建的时候已经确...[2021/5/6]

Go语言操作数据库及其常规操作

Go操作MySQL 安装: go get -u github.com/go-sql-driver/mysql GO语言的操作数据库的驱动原生支持连接池, 并且是并发安全的 标准库没有具体的实现 只是列出了一些需要的第三方库实现的具体内容 第一次连接MySQL成功 package main...[2021/5/6]

Go并发编程(goroutine)

Go并发编程(goroutine)

Go并发 并发编程里面一个非常重要的概念, go语言在语言层面天生支持并发, 这也是Go语言流行的一个重要的原因 Go语言中的并发编程 并发与并行 并发:同一时间段内执行多个任务(你在用微信和两个人聊天) 并行:同一时刻执行多个任务 (你和你的朋友 都在用微信和 你们的一个朋友聊天) ...[2021/5/6]

GinAdmin——基于golang的web管理平台

GinAdmin 这个项目是以Gin框架为基础搭建的后台管理平台,虽然很多人都认为go是用来开发高性能服务端项目的,但是也难免有要做web管理端的需求,总不能再使用别的语言来开发吧。所以整合出了GinAdmin项目,请大家多提意见指正! GitHub地址 https: github.com/g...[2021/5/6]

Go语言核心技术,资深技术专家3个月带你通关

如果你认真地跟我一起走完这个专栏,那么基本掌握Go语言是肯定的,成为你学习Go语言最重要的敲门砖和垫脚石。   许多大厂都已经拥抱Go语言,高人才需求也就意味着高额的回报,如今掌握Go语言已经成为了简历上的一项亮点, 不但优先录取,薪资也随之一路攀升。   从大厂面...[2021/5/6]

[Go] 解决go的fatal error: concurrent map writes map非并发安全

map不是并发安全的 , 当有多个并发的groutine读写同一个map时  会出现panic错误 concurrent map writes   例如下面的代码会出现这个错误: var mMap map[int]int func TestMyMap(t *te...[2021/5/6]

[Go] golang协程池模拟实现群发邮件

比如批量群发邮件的功能 因为发送邮件是个比较耗时的操作, 如果是传统的一个个执行 , 总体耗时比较长 可以使用golang实现一个协程池 , 并行发送邮件 pool包下的pool.go文件 package pool import "log" 具体任务,可以传参可以自定义操作 ty...[2021/5/6]

go gin框架和springboot框架WEB接口性能对比

1 简要概述 最近看起go lang,真的被go的goroutine(协程)惊艳到了,一句 go function(){#todo},即可完成一个并发的工作。 看到gin这个web框架时,突然就特别想拿它和springboot来做个性能对比,马上撸一遍。 ...[2021/5/6]

[Go] 解决golang中出现 panic: runtime error: invalid memory address or nil pointer dereference

当在nil上调用一个属性或者方法的时候 , 会报空指针 尤其是结构体指针 , 非常容易出现这个问题 , 下面是测试代码 package tools import "fmt" func MyTest() { type MConn struct { Name str...[2021/4/19]

【gin-vue-admin】初始化数据库失败

GIN-VUE-ADMIN 初始化数据库失败 环境 版本:2.4+ 数据库: 5.7 问题 初始化数据库时失败,创建sys_users表时报错ERROR 1067: Invalid default value for nickname 自动导入初始数据时,又报Error 1366:...[2021/4/19]

Go语言开发笔记

GO开发 Golang被誉为21世纪的C语言 2012.3 - 2020.2 1.0 - 1.14版本 为什么选择GO 继承python的简洁 & C语言的性能于一身 环境搭建 执行golang代码。 go run **.go 或者go文...[2021/4/19]

时间戳转换小工具

有时候需要时间和时间戳之间进行转换,以及获取当前时间和时间戳。 虽然功能很小,但是也不想每次去网页上搜一搜这么麻烦,因此写了一个小工具。 源码鉴赏: package main import ( "fmt" "os" "strconv" "strings" "time" ) ...[2021/4/19]

Go语言从入门到实战,带你拿下Golang的高效编程法

独特的学习方法:着重对比 Go 语言语法和其他其他编程语言的不同,带你快速入门 Go 语言,高效掌握 Go 语言的编程方法。 学以致用,注重实战:带你对 Go 语言在开发中的常见问题进行拆解分析,比如并发编程模式,常见并发任务,高可用服务设计,性能调优等难题,让你可以从入门走向实战。 适合已...[2021/4/19]

[Git]提升国内访问github的速度

文章转载自"编程帮",也欢迎大家关注我的开源在线客服项目https: github.com.cnpmjs.org/taoshihan1991/go-fly,演示地址:https: gofly.sopans.com 1. GitHub 镜像访问 这里提供两个最常用的镜像地址: https: gi...[2021/4/12]

[Go] golang的GMP调度模型

[Go] golang的GMP调度模型

GMP是三个缩写 G : groutine M : Machine 系统线程 P : Proce or 处理器   GMP调度就是循环在与P(处理器)绑定的M(系统线程)上寻找可执行的G(协程)      在当前P(处理器)上创建G(g...[2021/4/12]

RabbitMQ 入门 (Go) - 6. 数据持久化(上) - yangxu-pro

     从本节开始,我介绍一下如何将相关数据持久化到数据库,也就是上图中蓝色的部分。   目前的问题 我先运行 6 个传感器和2 个协调器,这里我使用了批处理文件:     &nbs...[2021/4/12]

RabbitMQ 入门 (Go) - 7. 数据持久化(下)【完】 - yangxu-pro

RabbitMQ 入门 (Go) - 7. 数据持久化(下)【完】 - yangxu-pro

数据库 我使用的是 PostgreSQL。 使用的驱动是 github.com/lib/pq 这个网址 https: pkg.go.dev/github.com/lib/pq 是官方文档。   创建数据表 打开 PostgreS...[2021/4/12]

答应我,别在go项目中用init()了

前言 go的 init函数给人的感觉怪怪的,我想不明白聪明的 google团队为何要设计出这么一个“鸡肋“的机制。实际编码中,我主张尽量不要使用init函数。 首先来看看 init函数的作用吧。 init() 介绍 init()与包的初始化顺序息息相关,所以先介绍一个go中包的初始化顺序吧。...[2021/4/12]

golang gin 框架的 https 配置

目录 概述 https 证书的生成 第一步:下载证书生成软件 第二步:创建测试证书 第三步:导出证书 总结 https 证书在 gin 框架中的部署 构建简单的 web 服务 证书转换 改成 https 服务 概述 目前, https 几乎已经是 web 站点的标配了, ht...[2021/4/6]

Golang开发必须了解的细节!

Golang开发必须了解的细节!

GO核心编程 简介 go语言特点: go具有垃圾回收机制 从语言层面支持并发,goroutine,高效利用多核,基于CPS并发模型实现(重要特点) 吸收了管道通信机制,实现不同goroutine之间的互相通信 函数可以返回多个值 切片、延时执行defer 继承C语言很多思想,引入包的概念,用于组...[2021/4/6]

RabbitMQ 入门 (Go) - 3. 模拟传感器,生成数据并发布 - yangxu-pro

现在,我们需要模拟传感器,生成数据,并发布到 RabbitMQ。 建立传感器项目 在 GOPATH src 下建立文件夹 sensors,使用 go mod init 初始化,并创建 main.go。 同时别忘了安装&nb...[2021/4/6]

NetCore的缓存使用详例

关于我 作者博客|文章首发 缓存基础知识 缓存可以减少生成内容所需的工作,从而显著提高应用程序的性能和可伸缩性。 缓存最适用于不经常更改的 数据,生成 成本很高。 通过缓存,可以比从数据源返回的数据的副本速度快得多。 应该对应用进行编写和测试,使其 永不 依赖于缓存的数据。 ASP.NET ...[2021/4/6]

go time/rate 接口-账户/IP 限流

go time/rate 接口-账户/IP 限流

  接口限流 按账户/IP/Token限流 定时加载配置 time/rate 原理 time/rate 是go提供的官方限流工具 原理: 令牌桶,以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶里获取一个令牌,当桶里没有令牌可取时,则拒绝服务...[2021/4/6]

前端使用bcrypt对密码加密,服务器对密码进行校验

以前为了防止前端密码安全问题,都是对密码进行md5(pa word + salt)。 有些也会用别的加密方式,但还是会存在撞库,彩虹表等破解常规密码。 因此使用bcrypt加密是一个不错的选择,因为每次加密都会随机salt,每次加密结果都不一样,相对安全性更高些。 下面是一个示例代码,...[2021/4/6]

RabbitMQ 入门 (Go) - 4. 使用 Fanout Exchange 做服务发现(上) - yangxu-pro

到目前为止,我们项目的结果大致如下:     传感器生成的模拟数据(包含传感器名称、数据、时间戳)是通过传感器在运行时动态创建的 Queue 来发送的。这些 Queue 很难直接被发现。 为了解决这个问题,我创建了另...[2021/4/6]

RabbitMQ 入门 (Go) - 5. 使用 Fanout Exchange 做服务发现(下) - yangxu-pro

   到目前为止,我一直专注于如何让消息进出消息代理,也就是RabbitMQ。 实际上,我们可以继续使用 RabbitMQ 和它的 Exchanges 来连接这个应用程序的其他部分,但是我想探索一个稍微不同的模型:我想使用协调器来跟踪哪些类型的消费...[2021/4/6]

golang中时区设置

关于我 文章首发 | 我的博客 | 欢迎关注 go语言的time.Now()返回的是当地时区时间 time.Now().Format("2006-01-02 15:04:05") time设置自定义时区 var cstSh, _ = time.LoadLocation("Asia/S...[2021/3/29]

开机自启+延迟运行

目录前言AutoStart配置文件使用方法 前言 大家应该都不喜欢一大堆开机自启程序运行吧,不仅拖慢开机速度,而且有些软件也不能刚开机就运行。 例如某些需要网络等环境的软件,这时候等待一段时间再运行是个不错的选择。 有些软件运行需要管理员权限,做成开机自启也稍微会有点麻烦。 因此我写...[2021/3/29]

RabbitMQ 入门 (Go) - 1. 简介和安装 - yangxu-pro

RabbitMQ 入门 (Go) - 1. 简介和安装 - yangxu-pro

Me age Broker(消息代理) 维基百科对 Me age Broker 的定义是:Me age broker 是一种中介程序模块,它把消息从发送方的正式消息传递协议转化为接收方的正式消息传递协议。 这个定义略繁琐,下面看看 RabbitMQ 官网对 Me age broker 的定义...[2021/3/29]

[go-linq]-Go的.NET LINQ式查询方法

[go-linq]-Go的.NET LINQ式查询方法

关于我 我的博客|文章首发 开发者的福音,go也支持linq了 坑爹的集合 go在进行集合操作时,有很不舒服的地方,起初我真的是无力吐槽,又苦于找不到一个好的第三方库,只能每次写着重复代码。举个栗子 类 学生{ 姓名 年龄 性别 } 1、现在有10个学生的数组,如果我要统计所有年龄大于...[2021/3/29]

网站整改公告 团队

为了遵守相关法律法规,合法合规运营,网站进行全面整改,整改工作于2021年3月18日12:00开始,预计于3月25日11:59结束,整改期间全站无法发布任何内容,之前发布的内容重新审核后才能访问,由此给您带来很大的麻烦,请您谅解。 原文链接:http: www.cnblogs.com/mu...[2021/3/24]

GoPath模式和GoMoudle模式的相爱相杀

相信看我文章的文章的童鞋,golang版本已经是1.3版本以上。如果你的版本还停留在1.3以下,那这篇文章可以做为你的提升之法。 go moudle的前世今生 前世-gopath gopath是什么 GOPATH 是什么,相信已经不用我再多说什么了。大家深受摧残多年,应该已经有所体会。在v.1...[2021/3/24]

在vscode中go编码发生的问题整理

引言 使用VsCode进行Go程序开发,我们肯定会碰到一些问题,这些问题有些是IDE的配置问题,有些是下载包的版本不一致问题,本文主要针对在开发过程中碰到的问题做一个简单的回顾和整理。 前期准备,必看 在进行问题纠错前,先确保自己正确下载了golang的官方工具集go-tool,如果不确定,就...[2021/3/24]

还在用crontab? 分布式定时任务了解一下

前言 日常任务开放中,我们会有很多异步、批量、定时、延迟任务要处理,go-zero中有 go-queue,推荐使用 go-queue 去处理,go-queue 本身也是基于 go-zero 开发的,其本身是有两种模式: dq:依赖于 beanstalkd ,适合延时、定时任务执行; kq:依赖...[2021/3/8]

使用Prometheus搞定微服务监控

最近对服务进行监控,而当前监控最流行的数据库就是 Prometheus,同时 go-zero 默认接入也是这款数据库。今天就对 go-zero 是如何接入 Prometheus ,以及开发者如何自己定义自己监控指标。 监控接入 go-zero 框架中集成了基于 prometheus 的服务指标...[2021/3/1]

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

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

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

转载请声明出处哦~,本篇文章发布于luozhiyun的博客: https: www.luozhiyun.com/archive 453 介绍 在我们工作中,如果遇到如网页 URL 去重、垃圾邮件识别、大集合中重复元素的判断一般想到的是将集合中所有元素保存起来,然后通过比较确定。如果通过性能最...[2021/3/1]

now-go时间百宝箱

golang不像C#,Java这种高级语言,有丰富的语法糖供开发者很方便的调用。所以这便催生出很多的开源组件,通过使用这些第三方组件能够帮助我们在开发过程中少踩很多的坑。 时间处理是所有语言都要面对的一个问题,parse根据字符串转为date类型,tostring()将date类型转为定制化的...[2021/3/1]

go get下载包失败问题

由于某些不可抗力的原因,国内使用go get命令安装包时会经常会出现timeout的问题。本文介绍几个常用的解决办法。 从github克隆 golang在github上建立了一个镜像库,如https: github.com/golang/net就对应是 https: golang.org/x/...[2021/3/1]

关于 signal.Notify 的一个小问题

前些天,给同事 review 一个 MR。MR 本身没什么问题,merge 完之后突发奇想跑了一下 golangci-lint 看看有没有啥问题。看到一个 i ue 如下所示: main.go:102:16: SA1017: the channel used with signal.Notif...[2021/3/1]

cobra-强大的CLI应用程序库

cobra-强大的CLI应用程序库

cobra介绍 Cobra是一个用于创建强大的现代CLI应用程序的库,也是一个用于生成应用程序和命令文件的程序。 Cobra用于许多Go项目,如Kubernetes、Hugo和Github CLI等。此列表包含了使用Cobra的更广泛的项目列表。 GitHub地址 https: githu...[2021/3/1]

[Go]Golang 1.16 中 Modules的主要变化更新

本文转载,目的方便查阅 01介绍 Golang 1.16 已经正式发布了,其中 Modules 有一些变化: 默认开启 Modules。 不自动修改 go.mod 和 go.sum。 通过指定 @version 后缀安装特定版本可执行文件。...[2021/3/1]

记一个 aliyun tablestore go client 的大坑

有个项目年前要做最后一次上线。项目中有用到 aliyun tablestore 的一个模块我做了一次重构。 这个模块的主要功能为从 Kafka 订阅消息,做一个的格式化处理之后存储到 aliyun 的 TableStore。并且提供接口根据查询参数从 aliyun tablestore 查询相...[2021/3/1]

【吐血整理】超全golang面试题合集+golang学习指南+golang知识图谱+成长路线 一份涵盖大部分golang程序员所需要掌握的核心知识。

【吐血整理】超全golang面试题合集+golang学习指南+golang知识图谱+成长路线 一份涵盖大部分golang程序员所需要掌握的核心知识。

脑图持续不断更新中,在线查看地址 后续文章和内容会不断更新到 github项目 中,欢迎关注。 目录(善用Ctrl+F) 基础入门 新手 Golang开发新手常犯的50个错误 数据类型 连nil切片和空切片一不一样都不清楚?那BAT面试官只好让你回去等通知了。 go...[2021/3/1]

协程

协程

协程 又叫微线程 协程的本质 协程是编译器进行的工作,他通过插入相关的代码段能够实现分段式的执行,重新开始的地方是yield关键字指定的,一次一定会跑到一个yield对应的地方。 协程的原理是将事件回调进行了隐藏封装,本质上还是异步非阻塞。利用同步的思想进行异步编程。 协程的工作 协程...[2021/3/1]

golang学习笔记——基础知识(1)

观看B站李文周老师的视频学习golang整理的笔记   变量 定义 var 变量名 变量类型 多个 var(     a  int     ...[2021/3/1]

Go | Go 结合 Consul 实现动态反向代理

Go 结合 Consul 实现动态反向代理 代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端。 Table of Contents 反向代理 实现逻辑 Go 语言实现 原生代码 httputil.ReverseProxy 工具实现 接入...[2021/3/1]

347
2
记录数:776 页数:1/1612345678910下一页尾页
加载更多
 友情链接: NPS