![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go
文章平均质量分 91
聪明的竹子
一个开会写注释的前端
展开
-
手摸手,带你用Beego撸商城系列三(系统配置篇)
完整项目地址: go-shop-b2c系列文章:手摸手,带你用 Beego撸商城 系列一(基础篇)手摸手,带你用 Beego撸商城 系列二(登录篇)手摸手,带你用 Beego撸商城 系列三(系统配置篇)前言这篇就来讲解,一下要启动项目的一些基础配置,比如通过 bee 工具生成 model 层,CORS配置,router配置,日志配置等Bee 工具生成 model 层bee 工具简介bee 工具是一个为了协助快速开发 beego 项目而创建的项目,通过 bee 您可以很容易的进行 be原创 2021-06-29 14:05:42 · 346 阅读 · 2 评论 -
手摸手,带你用Beego撸商城系列二(登录篇)
完整项目地址: go-shop-b2c系列文章:手摸手,带你用 Beego撸商城 系列一(基础篇)手摸手,带你用 Beego撸商城 系列二(登录篇)手摸手,带你用 Beego撸商城 系列三(系统配置篇)前言一个商城后端系统,登录尤其重要,首先用户下单,需要登录,后台管理系统,需要登录。我们需要做的是,除了登录以及注册,其余的接口需要进行登录校验。base_controller 封装由于我们需要进行登录校验和不进行登录校验的 Controller,又由于 base_controller原创 2021-06-29 14:05:09 · 253 阅读 · 0 评论 -
手摸手,带你用Beego撸商城系列一(基础篇)
完整项目地址: go-shop-b2c系列文章:手摸手,带你用 Beego撸商城 系列一(基础篇)手摸手,带你用 Beego撸商城 系列二(登录篇)手摸手,带你用 Beego撸商城 系列三(系统配置篇)前言这里不会讲解太多的基础知识,主要介绍关于从零开始使用 Beego 框架撸一个商城思路目录结构├── common // 公共函数├── conf // 配置相关├── controllers原创 2021-06-29 14:04:33 · 242 阅读 · 0 评论 -
Go语言并发简述(并发的优势)
有人把Go语言比作 21 世纪的C语言,第一是因为Go语言设计简单,第二则是因为 21 世纪最重要的就是并发程序设计,而 Go 从语言层面就支持并发。同时实现了自动垃圾回收机制。Go语言的并发机制运用起来非常简便,在启动并发的方式上直接添加了语言级的关键字就可以实现,和其他编程语言相比更加轻量。下面来介绍几个概念:进程/线程进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。线程是进程的一个执行实体,是 CPU 调度和分派的基本单位,它是比进程更小的能独立运行的基转载 2021-04-06 15:06:26 · 384 阅读 · 0 评论 -
为什么 Go 语言能在中国这么火?
1. 因为 "golang并没有颠覆性解决问题",只是, 简单, 学习简单1.1 太阳底下没有新鲜事, 历史总是在"重复"当年 写 CGI , php 打败了 perl , 无他, 在 web 的 CGI 时代, php 学习成本低.同样 , 2018年 vueJS 与 react 相比更为"火", 无他, vuejs 学习成本低.go 相对于 java 也有点类似, 学习成本低.好几年前, 游戏开发, erlang 在后台来说, 那是中坚力量, 而这两年, go 作为游戏开发的...原创 2021-04-06 15:05:16 · 2818 阅读 · 2 评论 -
这可能是最容易理解的 Go Mutex 源码剖析
上一篇文章《一文完全掌握 Go math/rand》,我们知道 math/rand 的 global rand 有一个全局锁,我的文章里面有一句话:“修复方案: 就是把 rrRand 换成了 globalRand, 在线上高并发场景下, 发现全局锁影响并不大.”, 有同学私聊我“他们遇到线上服务的锁竞争特别激烈”。确实我这句话说的并不严谨。但是也让我有了一个思考:到底多高的 QPS 才能让 Mutex 产生强烈的锁竞争?到底加锁的代码会不会产生线上问题?到底该不该使用锁来实现这个功能?线上的问题是不是由原创 2021-04-02 10:58:05 · 440 阅读 · 0 评论 -
那些想替代 C 的语言怎么样?Go、Rust、C++ 和 Zig 生产力对比
点击上方蓝色“Go语言中文网”关注,每天一起学 GoC 已经快 50 岁了。对于一瓶葡萄酒来说,这个年龄很棒,但对于快速发展的行业中的编程语言而言,它就不同了。在过去的十年中,出现了许多具有不同风格的新语言,所有这些语言都试图在某种程度上成为 C 语言的替代者。当一种新语言或多或少变得流行时 —— 开发人员开始编写基准测试,以展示该语言编写的软件性能,CPU 利用率和内存使用量以及二进制文件的大小等等。在这里,我想在不同的层面上进行一些实验 —— 编程语言的 UX(用户体验),使用这种语言时开发转载 2021-04-02 09:04:32 · 6406 阅读 · 1 评论 -
为什么 Go 语言没有泛型
为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。Go 是一门语法元素少、设计简单的编程语言,简单的设计往往意味着较弱的表达能力,工程师也需要使用更多时间编写重复的逻辑。Go 语言从发布到今天已经过去了 10 多年,向 Go 语言添加泛型的讨论也从 2010 年一直持续到今天。社区对泛型的讨论非常多,呼声也.转载 2021-04-01 11:18:43 · 911 阅读 · 0 评论 -
Go Context的踩坑经历
0 引言context是Go中广泛使用的程序包,由Google官方开发,在1.7版本引入。它用来简化在多个go routine传递上下文数据、(手动/超时)中止routine树等操作,比如,官方http包使用context传递请求的上下文数据,gRpc使用context来终止某个请求产生的routine树。由于它使用简单,现在基本成了编写go基础库的通用规范。笔者在使用context上有一些经验,遂分享下。本文主要谈谈以下几个方面的内容: context的使用。 context实现原转载 2021-03-31 10:17:42 · 2454 阅读 · 0 评论 -
Go语言:常用限流策略——漏桶与令牌桶介绍
限流又称为流量控制(流控),通常是指限制到达系统的并发请求数,本文列举了常见的限流策略,并以gin框架为例演示了如何为项目添加限流组件。限流限流又称为流量控制(流控),通常是指限制到达系统的并发请求数。我们生活中也会经常遇到限流的场景,比如:某景区限制每日进入景区的游客数量为8万人;沙河地铁站早高峰通过站外排队逐一放行的方式限制同一时间进入车站的旅客数量等。限流虽然会影响部分用户的使用体验,但是却能在一定程度上报障系统的稳定性,不至于崩溃(大家都没了用户体验)。而互联网上类似需要限流的业转载 2021-03-30 11:50:29 · 703 阅读 · 0 评论 -
Golang 面向对象编程
Golang 面向对象编程*目录00 Golang语言面向对象编程说明01 字段、属性02 方法03 面向对象编程04 工厂模式05 面向对象编程思想*00 Golang语言面向对象编程说明 Golang 也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言。所以我们说Golang支持面向对象编程特性是比较准确的。 Golang没有类(class),Go语言的结构体(struct)和其它编程语言的类(class)有同等的地位,你可以理解G原创 2021-03-25 17:59:27 · 344 阅读 · 0 评论 -
Go:如何利用事件溯源思想实现分布式任务编排的容错?
在做分布式系统集成的时候,当一个功能涉及到多个平台的时候,通常面对的问题都是如果失败了怎么办?今天就给大家分享一个新思路-基于事件溯源实现分布式协调在进行正式开始之前我们需要先介绍下我们的场景是什么,要解决的问题是什么。场景在应用管理平台建设中需要整合内部的多个平台,比如容器、虚机、监控、发布、cmdb、负载等多个平台,每个平台都只负责某一部分功能,但是比如我们要做一个虚机扩容、灰度发布等通常就需要操作多个平台;如果是全部都是基于k8s的可能还好一点,但是对于一些公司这种平台建设早于容器平台,这转载 2021-03-25 15:52:36 · 255 阅读 · 0 评论 -
从零开始搭建Go语言开发环境
最新1.14版本,一步一步,从零搭建Go语言开发环境。因为Go语言及相关编辑工具的更新迭代,本文已于2020/03/25更新,可能会和视频有所出入,请以更新后的本文为准。注意:Go语言1.14版本之后推荐使用go modules管理以来,也不再需要把代码写在GOPATH目录下了,之前旧版本的教程戳这个链接。下载下载地址Go官网下载地址:https://golang.org/dl/Go官方镜像站(推荐):https://golang.google.cn/dl/版本的选择Wind转载 2021-03-25 15:49:13 · 271 阅读 · 0 评论 -
Go语言之依赖管理
Go语言的依赖管理随着版本的更迭正逐渐完善起来。为什么需要依赖管理最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面。这就导致了同一个库只能保存一个版本的代码。如果不同的项目依赖同一个第三方的库的不同版本,应该怎么解决?godepGo语言从v1.5开始开始引入vendor模式,如果项目目录下有vendor目录,那么go工具链会优先使用vendor内的包进行编译、测试等。godep是一个通过vender模式实现的Go语言的第三方依赖管理工具,类似的还有由社区维护准官方包管原创 2021-03-25 15:45:40 · 804 阅读 · 0 评论