go语言socket编程笔记
原文地址
本文是我的一些总结和记录。
Socket介绍
Socket起源于Unix,而Unix基本哲学之一就是 “一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现,网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用:Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。
常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的S...
golang 字符串操作
Go 字符串处理的常用函数
Go标准库中的strings和strconv两个包里面有一些最常用的字符串操作函数
strings 包中的常用函数
strings官方文档
func Contains(s,substr string) bool
字符串s中是否包含 substr 返回bool值
1
2
3
4
5
6
7
8
9
fmt.Println(strings.Contains("seafood", "foo"))
fmt.Println(strings.Contains("seafood", "bar"))
fmt.Println(strings.Contains("seafood", ""))
fmt.Println(strings.Contains("", ""))...
Learn Go Interface
Go的Interface 是一组method(方法)集,只要一个非interface类型数据实现了集合内的方法就能使用该interface
直接看例子,struct继承的例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package main
import "fmt"
type Huma...
Learn Go channel
学习Go channels 的记录
最近在YouTube上看一个GO 的学习视频。记录下学习过程的知识点。
链接在这里:
Learn Go Programming - Golang Tutorial for Beginners
因为太长了,YouTube不能自动生成字幕。啃的生肉,有理解不恰当地方的欢迎指正
废话不多说直接上代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package main
import (
"fmt"
"time"
)
con...
使用beego-orm 操作mysql数据库
原文章地址在这里
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package main
// 接下来我们的例子采用前面(test1/main.go)的数据库表User,现在我们建立相应的struct
import (
"time"
"github.com/astaxie/beego/orm" // 采用了Go style方式对数据库进行操作,实现了struct到数据表记录的映射.
...
linux grep awk 使用记录
grep 命令
grep ^vivek /etc/passwd
grep -E ‘word1|word2’ 文件名
ping -qc1 google.com 2>&1 | awk -F’/’ ‘END{ print (/^rtt/? “OK “$5” ms”:”FAIL”) }’
ping -qc1 : 不输出ping 的过程;
2>&1 : 将标准警告(2)重定向到标准输出(1);
awk -F’/’ 定位最后一行(END)如果是以rtt开头 输出OK 并打印$5,如果是其他的信息,输出FAIL。
ping -qc4 47.240.25.22 2>&1 |grep rtt |awk -F ‘[/= ]’ ‘{print “...
Go switch VS select
switch is used to make a decision based on a variable value of any type.
switch用于根据任何类型的变量值做出决定。
Read this for more details:
Go’s switch is more general than C’s. The expressions need not be constants or even integers, the cases are evaluated top to bottom until a match is found, and if the switch has no expression it switches on true. It...
goroutine学习记录
学习下goroutine的使用方法
goroutine是Go并行设计的核心。
goroutine说到底其实就是协程,但是它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些goroutine之间的内存共享。执行goroutine只需极少的栈内存 (大概是4~5KB) ,当然会根据相应的数据伸缩。也正因为如此,可同时运行成千上万个并发任务。goroutine比thread更易用、更高效、更轻便。
goroutine通过go关键字实现了,其实就是一个普通的函数。
通过关键字go就启动了一个goroutine
1
go hello(a, b, c)
goroutine 的设计要遵循:不通过共享来通信,而是通过通信来共享。
gorouti...
共计 30 篇文章,4 页。