了解Go中如何使用包、变量和函数

简介在上一个模块中,你配置了一个 Go 环境,用于创建和运行 Go 中所编写的程序。 此外,你还了解到 Go 程序的编码结构基本知识,以及如何编译和运行应用程序。在此模块中,你将逐步学习中 Go 提供的基本数据类型,并使用函数组织在 .go 文件中编写的代码。 你还将了解如何在同一包下的不同文件中管理和编写程序。 最后,你将了解如何在 Go 中创建和使用包。学习目标在此模块中,你将:声明变量和常量了解 Go 提供的基本数据类型编写函数创建和使用包先决条件可供创建应用程序的 Go 环境能够创建和修...阅读全文

Segmentfault 2021-03-29 09:32:33 聚合数据

最简单的 gRPC 教程— 1 初识 gRPC

gRPC 是 Google 开源的一个高性能的 RPC(Remote Procedure Call) 框架,它具有如下的优点:提供高效的进程间通信。gRPC 没有使用 XML 或者 JSON 这种文本格式,而是采用了基于 protocol buffers 的二进制协议;同时,gRPC 采用了 HTTP/2 做为通信协议,从而能够快速的处理进程间通信。简单且良好的服务接口和模式。gRPC 为程序开发提供了一种契约优先的方式,必须首先定义服务接口,才能处理实现细节。支持多语言。gRPC 是语言中立的...阅读全文

Segmentfault 2021-03-29 09:32:33 roseduan

Go Mysql Driver 集成 Seata-Golang 解决分布式事务问题

作者 | 刘晓敏 GitHub ID:dk-lockdown 来源 | 阿里巴巴云原生公众号背景2020 年 4 月,我们开始尝试实现 go 语言的分布式事务框架 Seata-Golang。众所周知,Seata AT 模式以无业务代码侵入的特点,被广大开发者推崇。Java 版 Seata AT 模式通过对 DataSource 数据源进行代理,在 sql 语句执行时,对 sql 拦截解析,获取数据库对应数据在 sql 语句执行前后的副本,序列化后保存起来,在 TC 协调回滚时用来回滚对应数据。实...阅读全文

51CTO博客 2021-03-26 10:01:11 mob604756e54876

Intellij插件新秀CommentShell-让你的注释运行起来!

# CommentShell ![demo](https://github.com/anqiansong/CommentShell/blob/master/demo.gif?raw=true) CommentShell(CSL)一个可以在注释中运行shell命令的intellij插件。 其可以帮助开发者快速在文件内执行指定命令,而不需要在终端去敲打shell命令, 如:开发golang的grpc服务时,我们需要用protoc工具生成pb.go,传统做法是编写完proto文件...阅读全文

Go语言中文网 2021-03-26 10:07:46 anqiansong

Linux 环境下安装 Golang,Goland

ubuntu18.04下安装go开发环境以及开发工具goland一: 安装go的开发环境安装流程下载适用于 Linux 的安装文件 https://gomirrors.org/解压到指定文件夹,即官方文档推荐的 /usr/local 目录,解压文件时要有 root 权限。tar -C /usr/local -xzf go1.15.3.linux-amd64.tar.gz创建一个工作目录,这个目录创建在自己常用的目录下。mkdir -p ~/Golang/code/go 用 pwd 命令查看到的路...阅读全文

51CTO博客 2021-03-26 08:41:02 mob604756e5202f

利用 GitHub Action 自动发布 Docker

前言最近公司内部项目的发布流程接入了 GitHub Actions,整个体验过程还是比较美好的;本文主要目的是对于没有还接触过 GitHub Actions的新手,能够利用它快速构建自动测试及打包推送 Docker 镜像等自动化流程。创建项目本文主要以 Go 语言为例,当然其他语言也是类似的,与语言本身关系不大。这里我们首先在 GitHub 上创建一个项目,编写了几段简单的代码 main.go:var version = "0.0.1" func GetVersion() string { re...阅读全文

Segmentfault 2021-03-29 09:32:33 crossoverJie

GO URL

URL全称Uniform Resource Location统一资源定位符,用于定位Internet中待访问的文档或资源。 URL提供了一种定位Internet上任意资源的手段,资源可通过各种不同的方案(比如HTTP、FTP、SMTP)来访问,因此URL语法随着方案不同而不同。 <schema>://<user>:<password>@<host>:<port>/<path>:<params>?<query>#<frag> URL格式 scheme://[userinfo@]host[:port...阅读全文

简书 2021-03-26 06:33:17 JunChow520

gin(6)-模板渲染

在golang中模板渲染已经简单到极致了首先看下项目目录java0904@weigongdeMacBook-Pro templates % tree.├── html│ └── index.html└── main.go代码部分packagemainimport"github.com/gin-gonic/gin"funcmain(){engine := gin.Default()engine.LoadHTMLGlob("html/*")engine.GET("/index",func(conte...阅读全文

简书 2021-03-26 06:33:17 Q_Jamie

Golang Mutex 源码解析

今天看群里讨论mutex的实现,正好学习到这里,基本go.15的源码写了一些个人意见,错误之处欢迎留言指正哈。 // A Mutex is a mutual exclusion lock. // The zero value for a Mutex is an unlocked mutex. // // A Mutex must not be copied after first use. type Mutex struct { state int32 sema uint32 } // A Lo...阅读全文

简书 2021-03-26 06:33:17 会写点代码的萌新运维

Golang指针转字符串,golang字符串转指针

指针转字符串 a := "ABC" b := &a //a的地址 c := fmt.Sprintf("%p", b) //a的地址转成字符串c 字符串转指针 a := "ABC" b := &a //a的地址 c := fmt.Sprintf("%p", b) //a的地址转成字符串c //16进制的地址字符串转成整数 i, err := strconv.ParseInt(c, 0, 64) if err != nil { fmt.Println(err) } //转字符串指针 p := (*s...阅读全文

简书 2021-03-26 06:33:17 离剑式

万字干货:需要深度阅读,只推荐给想要走技术管理路线的“老头儿”们看!

前言 我是从 2014 年开始正式走上管理之路的,在那之前虽然也有带过几个初级程序员,但毕竟不是正式的管理职位。正式踏上管理岗是从做一个小主管开始的,刚开始只管理几个人;之后担任过一些业务线的技术负责人,管理十几二十人;最多时管理百人团队,负责整个研发部门。一路从技术主管,到技术经理,再到技术总监,中间也和别人合伙创业当过 CTO。有空降管理过现成的团队,也有不止一次从 0 到 1 组建团队的经验。 六年多的管理经验,说多不多,但说少也不少,肯定也有自己的一些心得体会,如今就用文字来和大伙分享我...阅读全文

简书 2021-03-26 06:33:17 木木玩Android

pycharm最新版2020.3.4安装激活教程

今天呢,我给大家带来了pycharm最新版2020.3.4安装激活教程。接下来让我们一起看下本次最新版激活教程吧!一、安装首先进入官网下载最新版的pycharm2020.3.4。PyCharmforWindows平台下载:https://www.jetbrains.com/pycharm/download/#section=windowsPyCharmforMac平台下载:https://www.jetbrains.com/pycharm/download/#section=macPyCharm...阅读全文

简书 2021-03-26 06:32:52 耗子未之

马士兵【mca】高级架构师分享学习

共同学习交流, 地址在代码注释 课程内容包含: 课程1 【马士兵VIP课程】Java高级互联网架构师【马士兵教育】 课程2 大数据全栈工程师【马士兵教育】 课程3 Java零基础后端工程师【马士兵教育】 @RestController @RequestMapping("/online-config") public class OnlineConfigController { @Value("${config-value}") String configValue; @Autowired Onl...阅读全文

简书 2021-03-26 06:32:39 编程爱好者111

golang 冒泡排序

算法思想 冒泡排序要对一个列表多次重复遍历。它要比较相邻的两项,并且交换顺序排错的项。每对 列表实行一次遍历,就有一个最大项排在了正确的位置。大体上讲,列表的每一个数据项都会在 其相应的位置 “冒泡”。如果列表有 n 项,第一次遍历就要比较 n-1 对数据。需要注意,一旦列 表中最大(按照规定的原则定义大小)的数据是所比较的数据对中的一个,它就会沿着列表一直 后移,直到这次遍历结束 func MySort(arr []int) { for i := 0; i < len(arr); i++ { ...阅读全文

简书 2021-03-26 06:32:39 啃骨头的小狗

golang 实现选择排序算法

算法思想 选择排序提高了冒泡排序的性能,它每遍历一次列表只交换一次数据,即进行一次遍历时找 到最大的项,完成遍历后,再把它换到正确的位置。和冒泡排序一样,第一次遍历后,最大的数 据项就已归位,第二次遍历使次大项归位。这个过程持续进行,一共需要 n-1 次遍历来排好 n 个数 据,因为最后一个数据必须在第 n-1 次遍历之后才能归位。 v2-1c7e20f306ddc02eb4e3a50fa7817ff4_b.gif func SelectionSort(arr []int) { n := len...阅读全文

简书 2021-03-26 06:32:39 啃骨头的小狗

性能优化+架构迭代升级 Go读书社区web开发与架构优化

## download:[性能优化+架构迭代升级 Go读书社区web开发与架构优化](http://www.qiusuo1024.com/thread-69-1-1.html) 课程以开发在线读书社区为背景,先使用Go语言及Beego框架进行项目开发,快速迭代上线,然后进行包括主从和分表分库、搜索优化、页面静态化、动态缓存、下载优化、服务负载均衡等一系列架构优化,最后实现Web应用的高可用&高并发,扛住千万PV。通过课程学习,不仅能帮你掌握快速开发web应用的技巧,同时也能获取架构设计的思想。...阅读全文

Go语言中文网 2021-03-26 00:13:22 biancheng

Go语言匿名函数——没有函数名字的函数

Go语言支持匿名函数,即在需要使用函数时再定义函数,匿名函数没有函数名只有函数体,函数可以作为一种类型被赋值给函数类型的变量,匿名函数也往往以变量方式传递,这与C语言的回调函数比较类似,不同的是,Go语言支持随时在代码里定义匿名函数,而这个特性和javascript非常类型。之所以写这个文章,也是因为js的特性。 匿名函数是指不需要定义函数名的一种函数实现方式,由一个不带函数名的函数声明和函数体组成,下面来具体介绍一下匿名函数的定义及使用。定义一个匿名函数func(参数列表)(返回参数列表){ ...阅读全文

51CTO博客 2021-03-25 14:22:53 mob604756f5460a

Golang 协程(goroutine) 运行过程 与 并发

首先我们需要理解进程和线程的关系当运行一个应用程序的时候,操作系统会为这个应用程序启动一个进程,该个进程包含了应用程序在运行中所用需要用到和维护的各种资源的容器每个进程至少包含一个线程每个进程的初始线程被称为主线程执行线程的空间是应用程序本身的空间主线程终止,应用程序也将终止goroutine执行过程前提,goroutine的执行主要依靠调度处理器来完成,如// 创建了两个调度处理器 runtime.GOMAXPROCS(2) 1、创建一个goroutine2、goroutine进入调度处理器全...阅读全文

Segmentfault 2021-03-29 07:32:33 邓锋

大红大紫的 Golang 真的是后端开发中的万能药吗?

前言城外的人想进去,城里的人想出来。-- 钱钟书《围城》随着容器编排(Container Orchestration)、微服务(Micro Services)、云技术(Cloud Technology)等在 IT 行业不断盛行,2009 年诞生于 Google 的 Golang(Go 语言,简称 Go)越来越受到软件工程师的欢迎和追捧,成为如今炙手可热的后端编程语言。在用 Golang 开发的软件项目列表中,有 Docker(容器技术)、Kubernetes(容器编排)这样的颠覆整个 IT 行业...阅读全文

Segmentfault 2021-03-28 22:32:32 MarvinZhang

Amazon Alexa和Google Home语言系统的前驱服务者:13个MEMS 麦克风+Zyn

Amazon Alexa和Google Home语言系统的前驱服务者:13个MEMS 麦克风+Zynq SoC Sleibso FPGA开发圈 作者:Sleibso ,编译:清风流云 1 背景 说到语音识别,吸引的大家关注的有两大主力:亚马逊的Alexa和Google伴的Home。首先说说Alexa,随着智能家居Echo受到热捧,亚马逊的语音私人助手Alexa持续受到消费者关注。Alexa能围绕着信息、天气、新闻、音乐和控制其他家庭设备等内容为消费者提供人工智能语音服务,只是此前如果用户想要体验...阅读全文

51CTO博客 2021-03-25 20:18:54 mb5fd86d05a0afe