本文翻译自官方FAQ 该链接可能需要科学上网 orz 其中一些专有名词为了防止翻译引起的歧义,索性保留英文:) Usage Go程序能和C/C++程序链接在一起吗 ? Do Go programs link with C…
标签:go
【Go】那么多数值类型,应该选哪个?
原文链接:https://blog.thinkeridea.com/… Go 内置很多种数值类型,往往初学者不知道编写程序如何选择,使用哪种数值类型更有优势。 内置的数值类型有:uint8、 uint16、 …
14 Go语言——接口interface详解
Go语言——接口interface详解 1、Duck Typing 概念 go语言中的duck typing并不是真正的duck typing,但是他是类似的概念,go语言接口的实现就可以看做为duck typing。举…
Go 值传递与引用传递
问题引入 什么时候选择 T 作为参数类型,什么时候选择 *T 作为参数类型? [ ] T 是传递的指针还是值?选择 [ ] T 还是 [ ] *T ? 哪些类型复制和传递的时候会创建副本? 什么情况下会发生副本创建? T…
Go Chanel 使用与原理 三
上篇已经记录到发送数据到 chanel 的三种情况的代码逻辑,接下来是从 chanel 接收数据的逻辑。 chanrecv 方法 和 chansend 方法十分类似 如果 hchan 为空 if c == nil { i…
Go Chanel 使用与原理 二
有了上篇的基本了解,可以翻阅源码了 涉及的数据结构 // Go/src/runtime/chan.go type hchan struct { qcount uint // total data in the queue…
Go Channel 面试题解析
有一道这样的面试题目: 写代码实现两个 goroutine,其中一个产生随机数并写入到 go channel 中,另外一个从 channel 中读取数字并打印到标准输出。最终输出五个随机数。 凭直觉开始撸了以下代码: f…
Go Chanel 使用与原理 一
访问已经关闭的 chanel // exp3 用来测试访问一个已经关闭的且里面还有值未取出的 chanel 会发生什么事? // 结果是先取出 chanel 里面的值,之后返回零值 func exp3(){ sigCh:…
[GO语言] 构造带有请求体的HTTP GET
前言 传统的 web 应用约定 http.GET 请求不允许携带请求体。然而现在已是 9102 年,restful style的接口逐渐流行,通常我们在查询某个资源的时候会使用 http.GET 作为请求方法,使用 js…
Go 利用chan嵌套chan 实现函数异步执行 顺序返回值
遇到的问题 异步对于绝大多数的开发而言并不陌生,在go语言中异步的实现变得异常方便。只要在执行的方法前加一个go关键字就可以实现异步操作。但是如果需求是,按照调用的先后顺序(FIFO)来返回值我们应该怎么办。大家都知道,…
golang 并发安全Map以及分段锁的实现
涉及概念 并发安全Map 分段锁 sync.Map CAS ( Compare And Swap ) 双检查 分断锁 type SimpleCache struct { mu sync.RWMutex items map…
golang爬取豆瓣电影TOP250(下载图片)
打开豆瓣电影TOP250,打算爬取电影的四个信息,豆瓣排名,图片,评分,电影名。 所以先定义个结构体 type Movie struct { Num string Url string Star string Name …