加载中
Golang struct、interface 组合嵌入类型详解

https://www.jianshu.com/p/d87c69ac6ce7 概述 在 Go 语言中,如果一个结构体和一个嵌入字段同时实现了相同的接口会发生什么呢?我们猜一下,可能有两个问题: 编译器会因为我们同时有两个接...

06/11 13:24
18
golang socket的send和recv。

一方可以给另一方发送短数据,不会阻塞,但是如果另一方不及时接收,导致缓冲区写满,就会阻塞。

06/11 09:12
0
Go语言中的Array、Slice、Map和Set使用详解

http://www.jb51.net/article/56828.htm

01/15 17:44
5
测试channel

select中如果有default,则不会阻塞。 在关闭的channel上接收数据,不会阻塞。并且有(1)a := <- ch。 (2)b, ok := <- ch两种接收模式。第二种可以通过ok判断channel是否已关闭。 在未关闭读c...

2017/12/09 15:15
3
测试smux

github.com/xtaci/smux 把conn封装为session。在session上通过创建stream交流。一个stream可以来回多次发送消息。 在client和server之间建立起一个连接conn后,通过smux.Client和smux.Server...

2017/12/09 15:05
7
测试pfilter

github.com/AudriusButkevicius/pfilter 把一个物理读conn1传给PacketFilter做封装。可以给PacketFilter传入filter,返回conn2。通过filter来处理从物理conn1读取的数据,或者要写入到物理c...

2017/12/09 06:19
3
指针传递测试

指针传递和c语言一样。 指针本身是值传递。可以在函数中通过指针修改所指对象的内容。 在函数内修改指针本身不会影响指针之前指向的内容。 package main import ( "fmt" ) type A struct...

2017/09/29 14:53
2
io.Pipe测试

管道会返会Reader和Writer。只有把所有数据读光了才会再写。 package main import ( "io" "fmt" "time" ) func test() { r,w := io.Pipe() go func(r *io.PipeReader) { ...

2017/09/09 16:39
6
log测试

package main import ( "log" ) func test() { log.SetFlags(log.Ldate |log.Lmicroseconds | log.Lshortfile) log.Println("hello") log.SetPrefix("testtest") log.Println("world")...

2017/09/07 15:29
3
string测试

package main import ( _ "fmt" ) func test() { s := "打分fff"; for _, i := range s { println(i) } println("----------") for i:=0; i < len(s); i++ { println(s[i]) } pr...

2017/09/07 09:52
2
golang参数传递

1 map和slice本身是值传递。但是如果修改他们指向的内容,会影响到函数外。 2 对map和slice的复制,他们底层指向和操作的还是同一对象。 package main import ( "fmt" ) func test2(m ...

2017/09/03 16:21
4
go元素初始化

原文: When storage is allocated for a variable, either through a declaration or a call of new, or when a new value is created, either through a composite literal or a call of m...

2017/09/03 09:03
3
gob编码解码

gob可以正确编码解码slice和指针。 package main import ( "bytes" "encoding/gob" "fmt" "log" ) type Fobj struct { Path string Stamp int } type P struct {...

2017/09/03 08:44
7
context测试。

package main import ( "context" "time" "sync" ) func dolongtime(ctx context.Context, cancel context.CancelFunc) { defer cancel() //for i:=0; i<1; i++ { for i:=0; i<10; i...

2017/08/29 12:43
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部