Go语言基础之变量和常量

目录一、标识符与关键字二、标识符三、关键字四、变量五、变量的来历六、变量类型七、变量声明7.3.1 类型推导7.3.2 短变量声明7.3.3 匿名变量7.1 标准声明7.2 批量声明7.3 变量的初始化八、常量九、iota9.1 几个常见的iota示例:更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.html变量和常量是编程中必不可少的部分,也是很好理解的一部分。...阅读全文

51CTO博客 2021-04-15 20:39:39 wx5b1fd43180419

Go语言标准库之log

目录一、log二、使用Logger三、配置logger3.1 标准logger的配置3.2 flag选项3.3 配置日志前缀3.4 配置日志输出位置四、创建logger五、总结更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.html无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯。一、log...阅读全文

51CTO博客 2021-04-15 20:39:17 wx5b1fd43180419

Go语言标准库之net_http

目录一、net/http介绍1.1 HTTP协议二、HTTP客户端2.1 基本的HTTP/HTTPS请求2.2 GET请求示例2.3 带参数的GET请求示例2.4 Post请求示例2.5 自定义Client2.6 自定义Transport三、服务端3.1 默认的Server3.2 默认的Server示例3.3 自定义Server更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/115...阅读全文

51CTO博客 2021-04-15 20:39:00 wx5b1fd43180419

Go语言基础之切片

目录一、引子二、切片三、切片的定义3.1 切片的长度和容量3.2 基于数组定义切片3.3 切片再切片3.4 使用make()函数构造切片3.5 切片的本质四、切片不能直接比较五、切片的赋值拷贝六、切片遍历七、append()方法为切片添加元素八、切片的扩容策略九、使用copy()函数复制切片十、从切片中删除元素十一、练习题更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/115175...阅读全文

51CTO博客 2021-04-15 20:38:44 wx5b1fd43180419

Go语言基础之反射

目录一、变量的内在机制二、反射介绍三、reflect包四、TypeOf4.1 type name和type kind五、ValueOf5.3.1 isNil()5.3.2 isValid()5.3.3 举个例子5.1 通过反射获取值5.2 通过反射设置变量的值5.3 isNil()和isValid()六、结构体反射七、与结构体相关的方法八、StructField类型九、结构体反射示例十、反射是把双刃剑十一、练习题更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着...阅读全文

51CTO博客 2021-04-15 20:38:30 wx5b1fd43180419

Go语言基础之单元测试

目录一、go test工具二、测试函数三、测试函数的格式四、测试函数示例五、测试组六、子测试七、测试覆盖率八、基准测试九、基准测试函数格式十、基准测试示例十一、性能比较函数十二、重置时间十三、并行测试十四、Setup与TearDown十五、TestMain十六、子测试的Setup与Teardown十七、示例函数十八、示例函数的格式十九、示例函数示例更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickche...阅读全文

51CTO博客 2021-04-15 20:38:14 wx5b1fd43180419

Go语言基础之运算符

目录一、运算符二、算数运算符三、关系运算符四、逻辑运算符五、位运算符六、赋值运算符更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.html运算符用于在程序运行时执行数学或逻辑运算。一、运算符Go 语言内置的运算符有:算术运算符关系运算符逻辑运算符位运算符赋值运算符二、算数运算符运算符描述+相加-相减*相乘/相除%求余注意:++(自增)和--(自减)在Go语言中是单...阅读全文

51CTO博客 2021-04-15 20:37:53 wx5b1fd43180419

10天入门go语言教程- 类型

转载请注明来源"老男孩IT教育"来源网址:https://www.sholdboyedu.com/new/468.html编程语言中类型属性有很多,不熟悉类型的话对后续的编程也会带来很多的难点,那么如何正确的理解类型以及运用类型呢,下面来学习一下吧!类型下面是 Go 支持的基本类型:bool数字类型int8, int16, int32, int64, intuint8, uint16, uint32, uint64, uintfloat32, float64complex64, complex1...阅读全文

51CTO博客 2021-04-15 17:29:15 上海老男孩教育

golang GC混合写屏障

golang混合写屏障实现 写屏障只应用在堆上应用,栈上部启用。 GC开始将栈上的对象全部扫描并标记为黑色。 GC期间,任何在栈上创建的新对象,均为黑色。 被删除的对象标记为灰色。 被添加的对象标记为灰色。 golang gc流程 STW(StopTheWorld)开启写屏障,记录数据段以及栈中roots的必要信息 StartTheWorld开始标记,此时mutator(用户程序)和GC标记并发执行 标记完成再次STW,关闭写屏障 StartTheWorld进入轻扫阶段 其中标记阶段有一个问题很...阅读全文

简书 2021-04-15 17:33:25 __robin

利用 Watermill 实现 Golang CQRS

CQRSCQRS 的意思是“命令-查询责任隔离”。我们分离了命令(写请求)和查询(读请求)之间的责任。写请求和读请求由不同的对象处理。就是这样。我们可以进一步分割数据存储,使用单独的读写存储。一旦发生这种情况,可能会有许多读取存储,这些存储针对处理不同类型的查询或跨越多个边界上下文进行了优化。虽然经常讨论与 CQRS 相关的单独读写存储,但这并不是 CQRS 本身。CQRS 只是命令和查询的第一部分。术语Command该命令是一个简单的数据结构,表示执行某些操作的请求。Command Bus完整...阅读全文

51CTO博客 2021-04-15 15:18:14 mb6077a82612db2

云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第1篇

项目初探项目地址:原项目:https://github.com/lonng/nanoserver调过的:https://github.com/Kirk-Wang/nanoserver这将是一个完整的,完全践行 DevOps/GitOps 与 Kubernetes 上云流程的 Golang 游戏服务器开发的系列教程。这个系列教程是对开源项目 Nanoserver 的完整拆解,旨在帮助大家快速上手 Golang(游戏)服务器后端开发。通过实践去理解 Golang 开发的精髓 —— Share mem...阅读全文

51CTO博客 2021-04-15 15:05:42 mb6077a82612db2

VS code配置Go环境

目录一、VS Code配置Go语言开发环境二、下载与安装三、安装中文简体插件四、安装Go开发扩展五、变更编辑器主题六、安装Go语言开发工具包6.1 方法一:使用git下载源代码再安装6.2 方法二:下载已经编译好的可执行文件七、配置自动保存八、配置代码片段快捷键更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.htmlVS Code是微软开源的一款编辑器,插件系统十...阅读全文

51CTO博客 2021-04-15 15:54:49 wx5b1fd43180419

Go语言基础之网络编程

目录一、互联网协议介绍二、互联网分层模型2.1 物理层2.2 数据链路层2.3 网络层2.4 传输层2.5 应用层三、socket编程四、socket图解五、Go语言实现TCP通信5.1 TCP协议5.2 TCP服务端5.3 TCP客户端六、TCP黏包6.1 黏包示例6.2 为什么会出现粘包6.3 解决办法七、Go语言实现UDP通信7.1 UDP协议7.2 UDP服务端7.3 UDP客户端更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://ww...阅读全文

51CTO博客 2021-04-15 15:54:28 wx5b1fd43180419

Go语言基础之map

目录一、map二、map定义三、map基本使用四、判断某个键是否存在五、map的遍历六、使用delete()函数删除键值对七、按照指定顺序遍历map八、元素为map类型的切片九、值为切片类型的map十、练习题更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.htmlGo语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。一、mapmap是一种无序的基...阅读全文

51CTO博客 2021-04-15 15:54:09 wx5b1fd43180419

解决go get下载包失败问题

目录一、从github克隆二、使用gopm2.1 安装gopm2.2 使用gopm安装第三方包三、使用goproxy由于某些不可抗力的原因,国内使用go get命令安装包时会经常会出现timeout的问题。本文介绍几个常用的解决办法。一、从github克隆golang在github上建立了一个镜像库,如https://github.com/golang/net就对应是 https://golang.org/x/net的镜像库。 要下载golang.org/x/net包,可以在本地创建包的目录后使...阅读全文

51CTO博客 2021-04-15 15:53:51 wx5b1fd43180419

Go语言基础之流程控制

目录一、if else(分支结构)1.1 if条件判断基本写法1.2 if条件判断特殊写法二、for(循环结构)2.1 无限循环三、for range(键值循环)四、switch case五、goto(跳转到指定标签)六、break(跳出循环)七、continue(继续下次循环)八、练习题更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.html流程控制是每种编程语...阅读全文

51CTO博客 2021-04-15 15:53:30 wx5b1fd43180419

Go语言标准库之time

目录一、time包二、时间类型三、时间戳四、时间间隔五、时间操作5.1 Add5.2 Sub5.3 Equal5.4 Before5.5 After六、定时器七、时间格式化7.1 解析字符串格式的时间更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.html时间和日期是我们编程中经常会用到的,本文主要介绍了Go语言内置的time包的基本用法。一、time包time包...阅读全文

51CTO博客 2021-04-15 15:53:15 wx5b1fd43180419

Go语言基础之包

目录一、Go语言的包(package)二、包介绍三、定义包四、可见性五、包的导入5.1 单行导入5.2 多行导入六、自定义包名七、匿名导入包八、init()初始化函数8.1 init()函数介绍8.2 init()函数执行顺序九、练习题更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11517502.html在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package...阅读全文

51CTO博客 2021-04-15 15:52:40 wx5b1fd43180419