14、Golang 教程 - 字符串
String类型在Go中值得特别提到,因为与其他语言相比,它们的实现方式有所不同。 什么是字符串 在Go 中字符串是 字节切片。可以通过将内容放在双引号 "" 之间的方式来创建一个字符串。让我们看一个简单的例子,该例子创建并...
String类型在Go中值得特别提到,因为与其他语言相比,它们的实现方式有所不同。 什么是字符串 在Go 中字符串是 字节切片。可以通过将内容放在双引号 "" 之间的方式来创建一个字符串。让我们看一个简单的例子,该例子创建并...
反射的一些基本概念和需要知道的知识 Golang语言实现的反射机制就是指在运行时动态的调用对象的方法和属性,官方自带的reflect包就是反射相关的。 go的变量包括type, value两部分,type 包括static type和con...
公众号:“皇子谈技术”主理人
背景 在Go http包的Server中,每一个请求在都有一个对应的 goroutine去处理。请求处理函数通常会启动额外的goroutine用来访问后端服务,比如数据库和RPC服务。一个上游服务通常需要访问多个下游服务,比如终端用户的身份...
struct{} 和 struct{}{} 一般我们知道struct在Go语言中是用于定义结构类型 type User struct { Name string Age int } 而struct {}是一个无元素的结构体类型,通常在没有信...
http 使用http客户端发送请求 使用http.Client控制请求头部 使用httputil简化工作 func main() { resp, err := http.Get("http://www.baidu.com&quo...
测试 少DEBUG,多Testing go语言采用表格驱动测试 分离的测试数据和测试逻辑 明确的出错信息 可以部分失败 go语言的语法使得我们更容易实践表格驱动测试 少DEBUG,多Testing go语言采用表格驱动测试 分离的测试数据和...
package main import ( "fmt" "os" ) // 广度遍历 // 读取迷宫 func readMaze(filename string) [][]int { file, er...
channel 不要通过共享内存来通信,要通过通信来共享内存 channel是用来协程通信的 错误做法 package main import "fmt" func chanDemo() { // var c chan ...
Goroutine 协程,轻量级线程 非抢占式多任务处理,由协程主动交出控制权,go1.14版本之后,也支持抢占式切换, 在并发系统中,对goroutine的切换时机和运行结果就没有唯一的保证性。 在go语言中,我们采用channel来进行...
defer调用 确保调用在函数结束时执行 参数在调用defer语句时计算,然后押入栈中 func tryDefer() { for i := 0; i < 30; i++ { defer fmt.Println(i) //29 //2...