
golang
文章平均质量分 80
爬比我。
这个作者很懒,什么都没留下…
展开
-
go的reflect
reflect反射是指在程序运行期对程序本身进行访问和修改的能力,是一种检查接口变量的类型和值的机制。reflect包封装了反射相关的方法,获取类型信息reflect.TypeOf是静态的,获取值信息reflect.ValueOf是动态的。 func TypeOf(i interface{}) Type type Type interface func ValueOf(i interface{}) Value type Value struct 在Go的实现中,一个interface类型的变量存储.原创 2022-04-06 23:16:16 · 923 阅读 · 0 评论 -
golang的context
1.context简介 在go的http包的server中,每一个对应的请求都有一个goroutine负责处理,处理函数通常会启动额外的goroutine去处理,如果一个请求被取消或者超时,用来处理该请求的goroutine应该及时退出,这样就不会有大量的goroutine去占用资源。 Context类型专用来简化对于处理单个请求的多个goroutine之间与请求域的数据、取消信号、截止时间等相关操作,这些操作可能涉及多个API调用。因此对服务器的请求应该去创建上下文,对服务器的传输调用也应该接收上下文原创 2022-04-01 23:10:46 · 1560 阅读 · 0 评论 -
golang协程
协程(coroutine)是Go语言中的轻量级线程实现,由Go运行时(runtime)管理。 在一个函数调用前加上go关键字,这次调用就会在一个新的goroutine中并发执行。当被调用的函数返回时,这个goroutine也自动结束。需要注意的是,如果这个函数有返回值,那么这个返回值会被丢弃。 func longWait() { fmt.Println("Beginning longWait()") time.Sleep(5 * 1e9) fmt.Println("End of longWait原创 2022-02-15 15:02:28 · 3212 阅读 · 0 评论