乐趣区

关于go:SegmentFault-思否技术周刊-Vol71-解读-Go-语言

刚刚完结的对于「Go」语言的技术征文活动,参加流动的创作者们,撰写了很多优质技术内容,本期周刊做了汇总,欢送大家一起浏览~

本篇文章较长,倡议珍藏后缓缓浏览~

文章举荐

【Go 微服务】开发 gRPC 总共分三步 // 王中阳 Go

通过这篇文章咱们曾经把握了 gRPC 相干的知识点,能够独立用 Go 实现客户端和服务端的编写,并且通过服务注册对外提供服务,实现可客户端和服务端的 gRPC 通信。

【Go 微服务】一文带你玩转 ProtoBuf // 王中阳 Go

在网络通信和通用数据交换等利用场景中常常应用的技术是 JSON 或 XML,在微服务架构中通常应用另外一个数据交换的协定的工具 ProtoBuf。
ProtoBuf 也是咱们做微服务开发,进行 Go 进阶实战中,必知必会的晓得点。

PHP 转 GO 必看:为什么我感觉 GoFrame 的 garray 比 PHP 的 array 还好用?// 王中阳 Go

在学习 Go 基础知识的时候理解到 Go 的数组和 PHP 的数组并不一样;从肯定水平上讲,Go 的 slice 切片类型和 PHP 的数组 array 比拟像(不固定长度、援用类型、动静扩容等),然而在开发应用中远远不像 PHP 的 array 灵便。

通过浏览源码解决我的项目难题:GToken 替换 JWT 实现 SSO 单点登录 // 王中阳 Go

明天和大家分享一下应用 GoFrame 的 gtoken 替换 jwt 实现 sso 登录的教训。期间我也踩了一些坑,最终是通过浏览源码解决了我的项目中遇到的问题。

三分钟学会 go 语言的变量定义 // 夕水

特地阐明: 本文只适宜老手学习,这篇文章带咱们入门 go 语言的定义变量的形式,其实和 javascript 很类似,所以特意总结在此。
在 go 语言中,也有变量和常量两种,首先咱们来看变量的定义,定义变量咱们分为定义单个变量和多个变量。

前端如何入门 Go 语言 // robin

类比法是一种学习办法,它是通过将新常识与已知常识进行比拟,从而加深对新常识的了解。在学习 Go 语言的过程中,我发现,通过类比已有的前端常识,能够更好地了解 Go 语言的个性。

Go 微服务实战之如何应用 go-micro 写微服务利用 // 宇宙之一粟

本文介绍了微服务及其相干概念,重点比拟了单体架构和微服务架构的区别,最初介绍了 Go 优良的微服务框架之一的 Go-micro,并展现该框架的装置和应用。

Go 微服务实战之如何实现加解密操作的微服务开发 // 宇宙之一粟

本文通过实现加解密操作展现了一个微服务利用的开发过程。通过编写服务端,胜利运行了一个微服务实例,该服务可能通过加密申请失去一个加密后的密文,通过解密申请将音讯进行解密,并返回明文后果。而后通过编写客户端向服务端进行 RPC 调用,胜利将 Hello world 字符串进行加密并打印出密文和明文的后果。

回声响亮 之 Go 的 Echo 框架 —— 上手初体验 // 宇宙之一粟

Go 语言的 Web 开发框架其实也有很多:Gin、Beego、Revel。
Echo 作为其中的一款。截止到 2022 年,目前曾经在 Github 上播种了 21.7k 的 Star 和 1.9k 的 Fork,能够说是经得起工夫测验,失去了大家的认可,正堪称对应上题目中的回声响亮。

如何在 Go 代码中运行 C 语言代码 // 宇宙之一粟

咱们理解到,Go 语言脱胎于 C 语言,这就意味着在某些更底层的细节中,咱们能够应用 C 语言实现,而后通过 Go 来调用相干的 C 代码。其实这一特点,在 Java 的 JVM、Python 的解释器也是通过底层是间接调用 C 实现的。
而本篇文章就来学习一下,如何在 Go 语言中运行 C 程序。

Go 语言如何连贯并操作 MySQL 数据库 // 宇宙之一粟

Go 有 sql 包,它提供了一个围绕 SQL(或相似 SQL)数据库的通用接口。sql 包必须与数据库驱动程序一起应用。该软件包提供主动连接池。每次查询数据库时,咱们都在应用应用程序启动时设置的连接池中的连贯,连贯被重用。

Go 十年了,终于想起要对立 log 库了!// 煎鱼

思考一个问题:平时你在写 Go 工程时,是否很少间接应用官网规范库 log?
在正式我的项目中,大多是优先应用几个爆款第三方库,例如:Logrus、Zap、zerolog。而规范库 log,在长期调试,屏幕输入的场景居多,占比拟少。

在 Golang 中依赖注入是 解药 还是 毒药?// LinkinStar

回过头来看我一开始说的观点其实就不矛盾了,就拿我本人举例来说,如果是一些小我的项目,并且很多时候 go 并不是做 web 开发,更多的是做工具那么 DI 有时候并不一定须要。
然而对于一些大我的项目来说,我感觉为了当前的思考,还是别挖坑了,无论是从打消全局变量还是扩展性来说,DI 或者说 OOP 都是十分有必要的。

Gin + GORM 入门到实战 // 程序员海军

最近始终在学习 Go,目前在做我的项目相熟 Go 阶段。本文来分享一下 Gin + GORM 的一些 开发体验,有喜爱 Go 方向的敌人。

Go 入门系列:你好,世界 // 似水流年

Go 源码须要先编译,再散发和运行。如果是单 Go 源文件的状况,咱们能够间接应用 go build 命令 +Go 源文件名的形式编译。不过,对于简单的 Go 我的项目,咱们须要在 Go Module 的帮忙下实现我的项目的构建。

go 如何从零编写 protoBuf 插件 // 海生

本期的次要内容将手把手教会大家,编写 probuf 的 go 插件,以我本人编写的一个生成构造体的插件为例子。

go 语言 web 开发框架 — gin 框架入门 // 良猿

装置并配置 GO 工作区,在 GOPATH 的 src 目录下新建我的项目文件夹,应用 go mod init 命令初始化我的项目,应用 go get -u github.com/gin-gonic/gin 命令装置 gin。

Go 语言与数据库 — GORM 入门 // 良猿

go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql

Golang Copier 入门到入坑 // 小白要生发

因为 golang 没有对简单构造体的 clone 办法,所以,就须要有 copier 这样的工具库。
它看起来很简略,但理论应用中,有些“坑”还是要留神!

动图图解!怎么让 goroutine 跑一半就退出?// 小白 debug

通过 runtime.Goexit() 能够做到提前结束协程,且完结前还能执行到 defer 的内容
runtime.Goexit() 其实是对 goexit0 的封装,只有执行 goexit0 这个函数,以后协程就会退出,同时还能调度下一个可执行的协程进去跑。
通过 newproc 能够创立出新的 goroutine,它会在函数栈底部插入一个 goexit。
os.Exit() 指的是整个过程退出;而 runtime.Goexit() 指的是协程退出。两者含意有区别。

Go 中调用外部命令的几种姿态 // darjun

本文介绍了应用 os/exec 这个规范库调用外部命令的各种姿态。同时为了便于应用,我编写了一个 goexec 包封装对 os/exec 的调用。这个包目前 for 我本人应用是没有问题的,大家有其余需要能够提 issue 或者本人魔改

微服务框架 go-zero 疾速实战 // 阿兵云原生

go-zero 是一个集成了各种工程实际的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,禁受了充沛的实战测验。
go-zero 中的 api,rpc,数据库等波及的代码,都能够给咱们一键生成,无需消耗咱们什么精力

【5-5 Golang】实战—Go 微服务发现问题剖析 // 西红柿

首次遇到这问题时候,感觉匪夷所思。基于现状,沉着剖析问题产生状况,一个一个去排查或者排除,切记浮躁。
抓包验证,二进制协定又不不便剖析,只能去钻研 zookeeper 通信协议了。最终还是须要一遍一遍 Review 代码,寻找蛛丝马迹,不要漠视任何可能产生的异样。

Go,浅谈包管理模式 // 甜点 cc

任何一门编程语言都离不开对各种工具包的应用,工具包的治理就显得异样重要了。Go 的包治理形式是逐步演进的,本文介绍 Go 语言的两种包管理模式。

Go,函数(包)的应用 // 甜点 cc

本文通过一个实现加减乘除运算的小程序来介绍 go 函数的应用,以及应用函数的注意事项,并引出了对包的理解和应用。


# SegmentFault 技术周刊 #

「技术周刊」是社区特地推出的技术内容系列,一周一主题。

每周二更新,欢送「关注」。大家也能够在评论处留言本人感兴趣的主题,举荐主题相干的优良文章。

如有问题能够增加小姐姐微信~

退出移动版