11 2023 档案
摘要:靠父母你是公主,靠男人你是王妃,靠自己你是乞丐。 func main() { res = sum(10, 20) fmt.Println("res=", res) } func sum(n1 int, n2 int) int { // defer使用 defer fmt.Println("ok1 n
阅读全文
摘要:不要把银行卡密码,设成女朋友的生日,不然总要换多麻烦。 第一种方法:在匿名函数定义时,直接调用 result := func(val int, vals ... int) int { sum := val for i := 0; i < len(vals); i++ { sum += vals[i]
阅读全文
摘要:让刻苦成为习惯,用汗水浇灌未来,然后脱水而死。 在 _test.go文件中 有三种类型的函数:测试函数、基准测试(benchmark)函数、示例函数。 测试函数:是以Test为函数名前缀的函数,用于测试程序的一些逻辑行为是否正确。 基准测试函数:基准测试函数是以Benchmark为函数名前缀的函数,
阅读全文
摘要:如果多年以后你未嫁我未娶,那么咱俩,也真够完犊子的了。 查看对应的包的命令 go list std
阅读全文
摘要:人生不如意何止八九,可与人言者何至二三。 展示了一个使用了带缓存channel的应用。它并发地向三个镜像站点发出请求,三个镜像站点分散在不同的地理位置。它们分别将收到的响应发送到带缓存channel,最后接收者只接收第一个收到的响应,也就是最快的那个响应。因此mirroredQuery函数可能在另外
阅读全文
摘要:突然发现,起床第一件事是摸手机,睡前最后一件事是放下手机。 并发实现方式(两种方式) 1、goroutine 每一个并发的执行单元叫作一个goroutine。 2、channel 一个channel有发送和接受两个主要操作,都是通信行为。 一个发送语句将一个值从一个goroutine通过channe
阅读全文
摘要:这年头放个假真不容易,连放假都要沾老祖宗的光。 在接口说明部分: 一个不包含任何值的nil接口值和一个刚好包含nil指针的接口值是不同的。这个细微区别产生了一个容易绊倒每个Go程序员的陷阱。 断言 一个类型断言检查它操作对象的动态类型是否和断言的类型匹配。
阅读全文
摘要:你所有的忧伤,都来自于你的余额。 函数 函数声明包括函数名、形式参数列表、返回值列表(可省略)以及函数体。 func name(parameter-list) (result-list) { body } name 函数名 parameter-list 形式参数 result-list 返回值列表
阅读全文
摘要:别总自称单身狗了,按年龄你是单身鳖,按智商你是单身傻狍子。 举例子,初始值 iota将会被置为0 type Weekday int const ( Sunday Weekday = iota Monday Tuesday Wednesday Thursday Friday Saturday ) 后面
阅读全文
摘要:“你在笑什么?”“没什么,就是刚才突然想到了你所以觉得很开心。” 数据类型: 1、基础类型:数字、字符串和布尔型2、复合类型:数组和结构体3、引用类型:指针、切片、字典、函数、通道4、接口类型: 数字:整型和浮点型 整型主要包含符号整型和无符号整形 有符号整型:int8、int16、int32、in
阅读全文
摘要:我这人吧,永远不要挑战我的底线,否则我又得修改底线。 比较的时候 如果两个类型都是空的,也就是说类型的大小是0,例如struct{}和[0]int,有可能有相同的地址(依赖具体的语言实现)(译注:请谨慎使用大小为0的类型,因为如果类型的大小为0的话,可能导致Go语言的自动垃圾回收器有不同的行为,具体
阅读全文
摘要:你连自己都睡不好,还想去睡别人? 指针说明: Go语言提供了指针。指针是一种直接存储了变量的内存地址的数据类型。在其它语言中,比如C语言,指针操作是完全不受约束的。在另外一些语言中,指针一般被处理为“引用”,除了到处传递这些指针之外,并不能对这些指针做太多事情。Go语言在这两种范围中取了一种平衡。指
阅读全文
摘要:有一种病叫看过听过励志演讲励志电影励志书籍励志歌曲知乎励志答案仿佛就已经奋斗努力过了。 方法如下 s := "" var s string var s = "" var s string = ""
阅读全文
摘要:有什么不开心就睡一觉,没什么是睡一觉不能解决的,如果有那就再睡个回笼觉。 main包比较特殊。它定义了一个独立可执行的程序,而不是一个库。 在main里的main 函数也很特殊,它是整个程序执行时的入口(译注:C系语言差不多都这样)。main函数所做的事情就是程序做的。当然了,main函数一般调用其
阅读全文
摘要:什么是接口的幂等性? 同一个接口,多次发出同一个请求,必须保证操作只执行一次。 也就是指用户对于同一个接口发起的一次请求或者多次请求的结果是一致的,不会因为多次请求而产生不同的结果。 触发场景: 1、前端进行重复提交:订单接口,用户连续多次点击下单操作,导致后端收到多条请求,同一个订单可能会多次创建
阅读全文
摘要:协程容器: Swoole\Coroutine\run() 函数其实是对 Swoole\Coroutine\Scheduler 类(协程调度器)的封装 所有的协程必须在协程容器中创建,swoole程序启动时大部分情况会自动创建协程容器。 swoole协程启动的方式有三种: 调用异步风格服务端程序的 s
阅读全文
摘要:生活不会放弃你,但也不会放过你。 协程通信 协程是基于线程的,而线程在同一个进程中是共享内存的,通信其实并不会有太大的问题,而进程因为有隔离问题的存在,所以进程之间的通信就将明了很多,关于协程的通信,swoole直接就提供了一个Channel功能来帮助我们实现。 Channel概念 Channel,
阅读全文