Go 并发——实现协程同步的几种方式

前言Java 中有一系列的线程同步的方法,go 里面有 goroutine(协程),先看下下面的代码执行的结果是什么呢? 1package main 2 3import ( 4 "fmt" 5) 6 7func main() { 8 go func() { 9 fmt.Println("Goroutine 1")10 }()1112 go func() {13 fmt.Println("Goroutine 2")14 }()15}执行以上代码很可能看不到输出。因为有可能这两个协程还没得到执行,主...阅读全文

51CTO博客 2021-04-02 21:25:17 mb5fdb0aaa540da

除了Python,Go也成为最受欢迎的***工具

xplanet 菜鸟学Python 2020-06-14转载:开源中国网络安全公司 Imperva Cloud WAF 近期分享了其在 2019 年一年内针对网络安全事件的观察。对数据进行聚类分析后,他们得到了如下结论:按工具来分类,Python 依旧是大多数***的首选武器,紧接着是使用量增长迅速的 Go 语言;再其次是 WinHttp 库,该库主要由 Windows 上运行的 .net 和 CPP 使用;Shell 工具(如 cURL、wget 等)也榜上有名。浏览器也是常用的***工具。根...阅读全文

51CTO博客 2021-04-02 16:04:16 mb600aa45a054a0

go 语言学习之初步认识

总所周知,go语言是google公司开发的语言。那么它有什么特点呢1、自带垃圾回收机制。a、内存自动回收,再也不需要开发人员管理内存。b、开发人员专注业务实现,降低了心智负担。c、只需要new分配内存,不需要释放。2、天然并发,go语言是天然支持多并发的。a、从语言层面支持并发,非常简单。b、goroute,轻量级线程,创建成千上万个goroute成为可能。c、基于CSP(Communicating Sequential Process) 模型实现func main() { go fmt.Pri...阅读全文

51CTO博客 2021-04-02 17:11:02 天天打老虎

六星教育:揭秘2021企业中的高薪岗位,想要进阶的程序员点进来!

六星教育了解到,2021年已经过了三月之一了,互联网行业又成了企业香饽饽,很多企业都用高薪来吸引优秀的人才。你知道哪些岗位是我们说的高薪产业吗?一起来看看吧。 一般来说,一线互联网企业,例如说BAT,腾讯之类的起薪还是一如既往地低,不过考虑到加薪的速度和年终奖的月份,实际上,这三家第二年都差不多能到20W(腾讯的特指硕士)。稍主流些的二线互联网公司,给程序员们较靠前的一批(能拿到一线互联网公司offer的那批人),一般都是20W+,例如360、去哪儿、美团、有道、搜狗等。据说58、赶集也可以到这...阅读全文

简书 2021-04-02 15:32:37 最新技术分享

go time/rate 接口-账户/IP 限流

go time/rate 接口-账户/IP 限流需求: - 接口限流 - 按账户/IP/Token限流 - 定时加载配置 接口限流按账户/IP/Token限流定时加载配置time/rate 原理time/rate 是go提供的官方限流工具原理: 令牌桶,以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶里获取一个令牌,当桶里没有令牌可取时,则拒绝服务我首先想到的方案初始化定时任务,每隔多长时间往桶里放一令牌。但是相比之下,time/rate的实现方式就是更优雅了关键变量:令牌放入...阅读全文

51CTO博客 2021-04-02 14:25:53 mb6063e31623ab7

golang线程池【简易版】

先上代码,有兴趣的可以跑一下可以实现在有限的线程里执行多个任务,控制内存使用,防止内存飙高package main import ("context""fmt""strconv""sync""time")// 定义静态变量 用于外部访问内部方法var pool *_Pool// 定义空结构体,相当于类,和下面组合New方法起来就是pool类的静态方法type _Pool struct { }// 定义接口 可传任意参数type TaskFunc func(args ...interface{})...阅读全文

51CTO博客 2021-04-02 11:21:46 mb6063e31623ab7

5个步骤搞定protoc环境安装

[TOC] 胖sir:不知道你有没有这样的疑惑,工作中发现很多新接触GO的小伙伴安装protoc的环境需要折腾很久,刚开始我装环境的时候也是花了好长时间,最后如何装好的也不知原因,网上查找了各种资源,也没有一篇文章可以很好的解决这个问题. 兵长:这个好说,今天咱们就来梳理和总结一下,如何快速高效的安装好protoc的环境 前提,先介绍一下protoc是干啥的? 简而言之,protoc是用于将proto文件编程成各种语言源码文件的工具 例如此处我们可以将proto文件通过protoc工具,编译生成...阅读全文

简书 2021-04-02 09:32:32 小魔童哪吒

慕课go高级工程师实战营

33. 【中级】 golang中的引用类型包括()A. 数组切片B. mapC. channelD. interface参考答案:ABCD这道题已经过时了,在2013年4月3日的github提交中已经明确说了“Go has no 'reference types'”。而slice源码的说明也由“引用”改成了“描述符”。Go只有值传递,没有所谓的引用传递。上题应该改为哪些类型包含有指针。34. 【中级】 golang中的指针运算包括()A. 可以对指针进行自增或自减运算B. 可以通过“&”取指针的...阅读全文

简书 2021-04-02 09:32:31 薇__wxywd8

慕课go高级工程师实战营

33. 【中级】 golang中的引用类型包括()A. 数组切片B. mapC. channelD. interface参考答案:ABCD这道题已经过时了,在2013年4月3日的github提交中已经明确说了“Go has no 'reference types'”。而slice源码的说明也由“引用”改成了“描述符”。Go只有值传递,没有所谓的引用传递。上题应该改为哪些类型包含有指针。34. 【中级】 golang中的指针运算包括()A. 可以对指针进行自增或自减运算B. 可以通过“&”取指针的...阅读全文

简书 2021-04-02 08:32:31 薇yofank

哇塞!提速72倍,在Python里面调用Golang函数

菜鸟学Python 2020-09-15以下文章来源于未闻Code ,作者kingname未闻Code博主喜欢Python和爬虫,已经出了两本书。这里是他灵感的发源地。关注这个公众号,你的生产效率在三天内就会得到提高。P.S.: 这个公众号日更。点击上方“菜鸟学Python”,选择“星标”公众号超级无敌干货第一时间推给你!!!我们知道,在涉及到大量 CPU 计算的时候,Python 的运行效率可能不如其他语言。在之前的一篇文章:一日一技:立竿见影地把你的 Python 代码提速7倍中,我们讲到了...阅读全文

51CTO博客 2021-04-01 16:39:55 mb600aa45a054a0

提速72倍,在Python里面调用Golang函数

菜鸟学Python 2020-07-31以下文章来源于未闻Code ,作者kingname未闻Code博主喜欢Python和爬虫,已经出了两本书。这里是他灵感的发源地。关注这个公众号,你的生产效率在三天内就会得到提高。P.S.: 这个公众号日更。我们知道,在涉及到大量 CPU 计算的时候,Python 的运行效率可能不如其他语言。在之前的一篇文章:一日一技:立竿见影地把你的 Python 代码提速7倍中,我们讲到了如何通过把 Python 代码编译成 C 语言代码来提高代码的运行速度。今天,我们...阅读全文

51CTO博客 2021-04-01 14:34:54 mb600aa45a054a0

2020 年开发者生态报告:Python超越Java,Go、Kotlin强势崛起

菜鸟学Python 2020-06-18来源:JetBrains编辑:白峰、鹏飞、舒婷本文转自:新智元近日,JetBrains发布了一份2020年开发者生态报告。该报告是基于19696个开发者的反馈所得到的,目标是完成对2020年开发环境,开发工具,开发语言的趋势调研。这是JetBrains第四年发布开发者生态报告,相比参与人数差不多是2017年的4倍! JetBrains就是一家不折不扣的「别人家的公司」。做IDE起家,成立之初仅仅3个人,20年时间已经成长为一家近千人的大厂。难得的是,20年...阅读全文

51CTO博客 2021-04-01 20:00:41 mb600aa45a054a0

Python+Go——带大家一起另寻途径提高计算性能

菜鸟学Python 2020-08-07以下文章来源于Python爬虫与数据挖掘 ,作者Python进阶者Python爬虫与数据挖掘人生苦短,我用Python。该公众号专注于分享Python网络爬虫、数据挖掘、数据分析、数据处理、数据可视化、自动化测试、运维、大数据、人工智能、云计算、机器学习等工具资源、热点资讯、相关技术文章、学习视频和学习资料等,期待您的加入~~~今日鸡汤一腔热血勤珍重,洒去犹能化碧涛。/1 前言/Hello各位小伙伴你们好,我们都知道Python是一个生产力很高的语言,小编...阅读全文

51CTO博客 2021-04-01 14:44:19 mb600aa45a054a0

天下武功为快不破,戏说Python与Go高并发争锋!

菜鸟哥 菜鸟学Python 2020-07-16在这个以斗气大陆横行的世界,每一个大的势力宗门都有自己的杀手锏的功法,比如老牌的古族有C++这样的巨无霸语言,药族有C语言,几乎斗气大陆所有的操作系统都是用C语言做的,毕竟斗气都要靠吃丹药维持。而实力非常猛的魂族有Java这样的毁天灭地的语言,神秘莫测,势力范围也非常大,拥有广大的用户!而斗气大陆最近十年风头最劲的当属萧族的Python语言。2007,2010,2018,三年都是排名第一。它可以做很多事情,身兼八大家族的各种功法于一身,比如爬虫,数...阅读全文

51CTO博客 2021-04-01 14:23:19 mb600aa45a054a0

Go语言很好很强大,但我有几个问题想吐槽

Go 是一门非常不错的编程语言。然而,我在公司的 Slack 编程频道中对 Go 的抱怨却越来越多(猜到我是做啥了的吧?),因此我认为有必要把这些吐槽写下来并放在这里,这样当人们问我抱怨什么时,我给他们一个链接就行了。先声明一下,在过去的一年里,我大量地使用 Go 语言开发命令行应用程序、scc、lc 和 API。 其中既有供客户端调用的大规模 API,也有即将在 https://searchcode.com/ 使用的 语法高亮显示器。我这些批评全部是针对 Go 语言的。但是,我对使用过的每种语...阅读全文

51CTO博客 2021-04-01 11:03:41 mb5fdb0a1b25659

我是如何把5万行C++代码移植到Go的?

前 言从商业角度来看,这个项目是成功的:重写工作提前完成;性能在可接受的范围之内;并且整体代码量不超过 1W 行(代码量的剧减主要是因为重写团队删除了一些过时的或者不需要的特性)。但从开发者的角度来看,作者认为结果并不是最优的。Go 并不支持参数多态,作者因此使用了两到三倍的代码来实现类似功能。其中一部分是为了保障类型安全:Go 强制开发者在类型修饰和类型安全之间做出取舍,作者选择了一个比较均衡的实现。总的来说,如果需要一般的类型安全,那么相对少的代码就可以实现,而如果需要更好的类型安全,则需要...阅读全文

51CTO博客 2021-04-01 10:48:47 mb5fdb0a1b25659