2020
03-03
03-03
带你重新认识字符串、字节、rune和字符 HOT
现在回答开始时提出的问题:字符串是由字节构建的,因此对它们进行索引将生成字节,而不是字符。字符串甚至可能不包含字符。实际上,“字符” 的定义是模棱两可的,试图通过定义字符串是由字符组成这种说法来解决歧义是错误的。
关于 Unicode,UTF-8 和多语言文本处理还有很多话要说,但是它可以等待下一篇文章。现在,我们希望你对 Go 字符串的行为有更好的了解,尽管它们可能包含任意字节,但 UTF-8 是其设计的核心部分。
继续阅读 >
本文内容到此就结束了,这里为大家简单总结一下:
主要通过ldflags参数在项目进行构建时进行变量赋值。
最近写了一个 Go 微服务应用程序,这个程序的设计来自三个灵感:
清晰架构"Clean Architecture"¹ and SOLID (面向对象设计)² 设计 原则³
Spring的容器技术(Spring’s application context)⁴
Go的简洁设计⁵ 特别是 Go的面向对象的设计⁶
IM系统是一个时代,从QQ、微信到现在的人工智能,都广泛应用了即时通信,围绕即时通信,又可以做更多产品布局。笔者写本文的目的就是想要帮助更多人了解IM,帮助一些开发者快速的搭建一个应用,燃起大家学习网络编程知识的兴趣,希望的读者能有所收获,能将IM系统应用到更多的产品布局中。
使用 vscode 阅读 Go 项目源码时,有个不太方便的地方,就是跟踪 interface 的实现。vscode 只能追到 interface 定义的地方,而无法定位到其具体的实现。
整洁架构(Clean Architecture)的Go微服务: 程序容器(Application Container)
Go语言没有沿袭传统面向对象编程中的诸多概念,比如继承、虚函数、构造函数和析构函数、隐藏的this指针等。
Golang是一门快速增长的语言,专为构建简单、快速且可靠的软件而设计。它提供的net/http库对于HTTP协议实现非常好,基于此再构造框架会更容易,因此生态中出现了很多框架。本文将从流行度、社区支持及内建功能等角度对六款知名Go语言Web框架做对比。
路由规则的查找就是从ServeMux中的map去匹配查找的,到这个handler并执行,只是会有一些处理机制,比如怎么样确保访问/path/subpath的时候是先匹配/path/subpath而不是匹配/path/呢?
平滑重启是指能让我们的程序在重启的过程不中断服务,新老进程无缝衔接,实现零停机时间(Zero-Downtime)部署;
平滑重启是建立在优雅退出的基础之上的,之前一篇文章介绍了相关实现:Golang中使用Shutdown特性对http服务进行优雅退出使用总结
这里的GO使用的版本是1.2
Go语言的基本语法的使用已经在前几篇陆陆续续学完了,下面可能想写一些Go的标准库的使用了。
先是reflect库。