代码改变世界

随笔档案-2019年10月

go语言从例子开始之Example38.排序

2019-10-31 17:06 by _天枢, 274 阅读, 收藏, 编辑
摘要: Go 的 sort 包实现了内置和用户自定义数据类型的排序功能。我们首先关注内置数据类型的排序。 Example: a := sort.StringsAreSorted(strarr) fmt.Println("Sorted:", a) a := sort.StringsAreSorted(stra 阅读全文

go语言从例子开始之Example37.Go 状态协程

2019-10-31 16:54 by _天枢, 328 阅读, 收藏, 编辑
摘要: 在前面的例子中,我们用互斥锁进行了明确的锁定来让共享的state 跨多个 Go 协程同步访问。另一个选择是使用内置的 Go协程和通道的的同步特性来达到同样的效果。这个基于通道的方法和 Go 通过通信以及 每个 Go 协程间通过通讯来共享内存,确保每块数据有单独的 Go 协程所有的思路是一致的。 Ex 阅读全文

go语言从例子开始之Example36.互斥锁

2019-10-31 14:41 by _天枢, 296 阅读, 收藏, 编辑
摘要: 在前面的例子中,我们看到了如何使用原子操作来管理简单的计数器。对于更加复杂的情况,我们可以使用一个互斥锁来在 Go 协程间安全的访问数据。 Example: Result: 运行这个程序,显示我们对已进行了同步的 state 执行了3,500,000 次操作。 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example35.原子计数器

2019-10-30 10:26 by _天枢, 458 阅读, 收藏, 编辑
摘要: Go 中最主要的状态管理方式是通过通道间的沟通来完成的,我们在工作池的例子中碰到过,但是还是有一些其他的方法来管理状态的。这里我们将看看如何使用 sync/atomic包在多个 Go 协程中进行 原子计数 。 Example: Result: 执行这个程序,显示我们执行了大约 6312891 次操作 阅读全文

go语言学习之从例子开始

2019-10-30 10:03 by _天枢, 733 阅读, 收藏, 编辑
摘要: [目录] go语言从例子开始之Example1.helloworld go语言从例子开始之Example2.类型 go语言从例子开始之Example3.变量 go语言从例子开始之Example4.常量 go语言从例子开始之Example5.for循环 go语言从例子开始之Example6.if/el 阅读全文

go语言从例子开始之Example34.速率限制

2019-10-30 09:24 by _天枢, 297 阅读, 收藏, 编辑
摘要: 速率限制(英) 是一个重要的控制服务资源利用和质量的途径。Go 通过 Go 协程、通道和打点器优美的支持了速率限制。 Example: Result: 运行程序,我们看到第一批请求意料之中的大约每 200ms 处理一次。 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example33.工作池

2019-10-29 14:20 by _天枢, 296 阅读, 收藏, 编辑
摘要: 在这个例子中,我们将看到如何使用 Go 协程和通道实现一个工作池 。 Example: Result: 执行这个程序,显示 9 个任务被多个 worker 执行。整个程序处理所有的任务仅执行了 3s 而不是 9s,是因为 3 个 worker是并行的。 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example32.打点器

2019-10-29 11:06 by _天枢, 323 阅读, 收藏, 编辑
摘要: 定时器 是当你想要在未来某一刻执行一次时使用的 - 打点器 则是当你想要在固定的时间间隔重复执行准备的。这里是一个打点器的例子,它将定时的执行,直到我们将它停止。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example31.定时器

2019-10-29 09:44 by _天枢, 311 阅读, 收藏, 编辑
摘要: 我们常常需要在后面一个时刻运行 Go 代码,或者在某段时间间隔内重复运行。 Go 的内置 定时器 和 打点器 特性让这些很容易实现。我们将先学习定时器,然后再学习打点器。 Example: Result: 阅读全文

go语言从例子开始之Example30.通道遍历

2019-10-29 09:27 by _天枢, 209 阅读, 收藏, 编辑
摘要: 在前面的例子中,我们讲过 for 和 range为基本的数据结构提供了迭代的功能。我们也可以使用这个语法来遍历从通道中取得的值 Example: Result: 坐标:上一个例子 下一个例子 阅读全文

go语言从例子开始之Example29.关闭通道

2019-10-29 09:22 by _天枢, 261 阅读, 收藏, 编辑
摘要: 关闭 一个通道意味着不能再向这个通道发送值了。这个特性可以用来给这个通道的接收方传达工作已经完成的信息。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example28.非阻塞通道操作

2019-10-28 15:28 by _天枢, 435 阅读, 收藏, 编辑
摘要: 常规的通过通道发送和接收数据是阻塞的。然而,我们可以使用带一个 default 子句的 select 来实现非阻塞 的发送、接收,甚至是非阻塞的多路 select。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example27.超时处理

2019-10-28 15:21 by _天枢, 235 阅读, 收藏, 编辑
摘要: 超时 对于一个连接外部资源,或者其它一些需要花费执行时间的操作的程序而言是很重要的。得益于通道和 select,在 Go中实现超时操作是简洁而优雅的。 Example: Result: timeout 1 two 运行这个程序,首先显示运行超时的操作,然后是成功接收的。 使用这个 select 超时 阅读全文

go语言从例子开始之Example26.通道选择器

2019-10-28 14:33 by _天枢, 243 阅读, 收藏, 编辑
摘要: Go 的通道选择器 让你可以同时等待多个通道操作。Go 协程和通道以及选择器的结合是 Go 的一个强大特性。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example25.通道方向

2019-10-28 14:28 by _天枢, 291 阅读, 收藏, 编辑
摘要: 当使用通道作为函数的参数时,你可以指定这个通道是不是只用来发送或者接收值。这个特性提升了程序的类型安全性。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example24.通道同步

2019-10-28 14:17 by _天枢, 301 阅读, 收藏, 编辑
摘要: 我们可以使用通道来同步 Go 协程间的执行状态。这里是一个使用阻塞的接受方式来等待一个 Go 协程的运行结束。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example23.通道缓冲

2019-10-28 10:40 by _天枢, 218 阅读, 收藏, 编辑
摘要: 默认通道是 无缓冲 的,这意味着只有在对应的接收(<- chan)通道准备好接收时,才允许进行发送(chan <-)。可缓存通道允许在没有对应接收方的情况下,缓存限定数量的值。 不支持缓冲: Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example22.协程之通道

2019-10-28 10:32 by _天枢, 268 阅读, 收藏, 编辑
摘要: 通道 是连接多个 Go 协程的管道。你可以从一个 Go 协程将值发送到通道,然后在别的 Go 协程中接收。 Example: Result: 我们运行程序时,通过通道,消息 "value" 成功的从一个 Go 协程传到另一个中 默认发送和接收操作是阻塞的,直到发送方和接收方都准备完毕。这个特性允许我 阅读全文

go语言从例子开始之Example21.协程

2019-10-28 10:21 by _天枢, 373 阅读, 收藏, 编辑
摘要: Go 协程 在执行上来说是轻量级的线程。 golang使用协程用go关键字。后边正常调用函数。 Example: Result: 从结果可以看出,direct是阻塞输出。goroutine和sk是异步交替输出。 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example20.错误处理

2019-10-25 15:43 by _天枢, 321 阅读, 收藏, 编辑
摘要: Go 语言使用一个独立的·明确的返回值来传递错误信息的。这与使用异常的 Java 和 Ruby 以及在 C 语言中经常见到的超重的单返回值/错误值相比,Go 语言的处理方式能清楚的知道哪个函数返回了错误,并能像调用那些没有出错的函数一样调用。 Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example19.接口

2019-10-25 15:25 by _天枢, 253 阅读, 收藏, 编辑
摘要: 接口 是方法特征的命名集合。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example18_1.结构体中定义方法

2019-10-24 10:31 by _天枢, 503 阅读, 收藏, 编辑
摘要: Go 支持在结构体类型中定义方法 。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example18.struct结构体

2019-10-24 09:48 by _天枢, 300 阅读, 收藏, 编辑
摘要: Go 的结构体 是各个字段字段的类型的集合。这在组织数据时非常有用 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example17.指针

2019-10-24 09:21 by _天枢, 203 阅读, 收藏, 编辑
摘要: Go 支持 指针,允许在程序中通过引用传递值或者数据结构 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example16.函数递归

2019-10-23 16:40 by _天枢, 247 阅读, 收藏, 编辑
摘要: Go 支持 递归。这里是一个经典的阶乘示例。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example15.闭包

2019-10-23 16:35 by _天枢, 198 阅读, 收藏, 编辑
摘要: Go 支持通过 闭包来使用 匿名函数。匿名函数在你想定义一个不需要命名的内联函数时是很实用的。 闭包简单理解,函数反回值是一个函数 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example14.变参函数

2019-10-23 16:25 by _天枢, 262 阅读, 收藏, 编辑
摘要: 可变参数函数。可以用任意数量的参数调用。例如,fmt.Println 是一个常见的变参函数。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example13.函数多返回值

2019-10-23 16:14 by _天枢, 287 阅读, 收藏, 编辑
摘要: Go 内建多返回值 支持。这个特性在 Go 语言中经常被用到,例如用来同时返回一个函数的结果和错误信息。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example12.func函数

2019-10-23 15:53 by _天枢, 355 阅读, 收藏, 编辑
摘要: 函数 是 Go 的中心。我们将通过一些不同的例子来进行学习。 Example: Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example11.range遍历

2019-10-23 15:48 by _天枢, 330 阅读, 收藏, 编辑
摘要: range 迭代各种各样的数据结构。让我们来看看如何在我们已经学过的数据结构上使用 rang 吧。 Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example10.map(字典)

2019-10-23 15:47 by _天枢, 263 阅读, 收藏, 编辑
摘要: map 是 Go 内置关联数据类型(在一些其他的语言中称为哈希 或者字典 ) Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example9.切片

2019-10-23 15:45 by _天枢, 300 阅读, 收藏, 编辑
摘要: Slice 是 Go 中一个关键的数据类型,是一个比数组更加强大的序列接口 Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example8.数组

2019-10-23 15:43 by _天枢, 262 阅读, 收藏, 编辑
摘要: 在 Go 中,数组 是一个固定长度的数列。 Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example7.switch分支结构

2019-10-23 15:41 by _天枢, 292 阅读, 收藏, 编辑
摘要: switch ,方便的条件分支语句 Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example6.if/else

2019-10-23 15:39 by _天枢, 241 阅读, 收藏, 编辑
摘要: if 和 else 分支结构在 Go 中当然是直接了当的了。 Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example5.for循环

2019-10-23 15:38 by _天枢, 317 阅读, 收藏, 编辑
摘要: for 是 Go 中唯一的循环结构。这里有 for 循环的三个基本使用方式。 Result: 坐标:上一个例子 下一个例子 阅读全文

go语言从例子开始之Example4.常量

2019-10-23 15:37 by _天枢, 239 阅读, 收藏, 编辑
摘要: Go 支持字符、字符串、布尔和数值 常量 。 Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example3.变量

2019-10-23 15:35 by _天枢, 308 阅读, 收藏, 编辑
摘要: 在 Go 中,变量 被显式声明,并被编译器所用来检查函数调用时的类型正确性 Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example2.类型

2019-10-23 15:34 by _天枢, 457 阅读, 收藏, 编辑
摘要: Go 拥有各值类型,包括字符串,整形,浮点型,布尔型等。下面是一些基本的例子。 Example: values.go Result: 坐标: 上一个例子 下一个例子 阅读全文

go语言从例子开始之Example1.helloworld

2019-10-23 15:31 by _天枢, 522 阅读, 收藏, 编辑
摘要: Example: Result: 坐标: 下一个例子 返回到目录 阅读全文

python模块打补丁

2019-10-23 14:21 by _天枢, 1909 阅读, 收藏, 编辑
摘要: 先自定义两个模块,然后,我们调用模块时,用打补丁方式,改写mod_1.py模块。为mod_2.py内容;其实这就相当于,在不改动mod_1.py模块的前提下,打上补丁。 写这个主要是gevent协程的时候,用到的monkey.patch_all()补丁,其实原理就是这样。 mod_1.py mod_ 阅读全文

gevent协程之猴子补丁带来的坑

2019-10-23 11:00 by _天枢, 9822 阅读, 收藏, 编辑
摘要: 我们都知道使用gevent协程时,经常会看见在导入包的时候看见这样的代码 from gevent import monkey; monkey.patch_all() monkey.patch_all()作用呢,就是将阻塞的改成非阻塞 具体有哪些呢。 Example: 执行发现报错了。loop_exi 阅读全文

charles抓包小程序

2019-10-12 17:30 by _天枢, 5111 阅读, 收藏, 编辑
摘要: charles抓包小程序: 原理呢,简单理解,通过charles开代理,然后手工wifi设置代理上网。 但是要做一些准备:手机要安装charles 证书。 注意的是安卓和ios有区别:目前安卓7.0版本以上不支持抓包,即使装了证书也没个鸟用。除非root安到系统中,而不是用户凭证。 注意:手机要与c 阅读全文
点击右上角即可分享
微信分享提示