随笔分类 -  Golang

摘要:最近写代码的时候发现编译器老是会给 switch v.(type) 一个简化提醒 could eliminate type assertions in switch cases,于是尝试根据提醒优化了一下: switch v := v.(type) { case int: m[k] = v * 2 阅读全文
posted @ 2023-04-30 09:50 绯狱丸丶 阅读(45) 评论(0) 推荐(0)
摘要:在接口上调用方法时,必须有和方法定义时相同的接收者类型或者是可以根据具体类型 P 直接辨识的: 指针方法可以通过指针调用 值方法可以通过值调用 接收者是值的方法可以通过指针调用,因为指针会首先被解引用 接收者是指针的方法不可以通过值调用,因为存储在接口中的值没有地址 将一个值赋值给一个接口时,编译器 阅读全文
posted @ 2023-04-28 15:49 绯狱丸丶 阅读(106) 评论(0) 推荐(0)
摘要:将切片 b 的元素追加到切片 a 之后:a = append(a, b...) 复制切片 a 的元素到新的切片 b 上: b = make([]T, len(a)) copy(b, a) 删除位于索引 i 的元素:a = append(a[:i], a[i+1:]...) 切除切片 a 中从索引 i 阅读全文
posted @ 2023-04-26 17:05 绯狱丸丶 阅读(284) 评论(0) 推荐(0)
摘要:看到一个问题感觉很神奇啊,按照以前 Java 或者其他的语言惯例,函数执行完毕后再去引用函数内定义的变量应该会出问题,但是 go 好像不是这个样子,当函数执行完毕退出后,携程中依旧能够正常使用闭包捕获的变量,如: package main import ( "fmt" ) type mystruct 阅读全文
posted @ 2023-04-25 20:31 绯狱丸丶 阅读(37) 评论(0) 推荐(0)
摘要:0x00 defer 是啥 用一段简单的代码演示 package main import ( "fmt" ) func main() { defer fmt.Println("this defer fmt!!") fmt.Println("this is normal fmt!!") } 以上代码的 阅读全文
posted @ 2021-12-22 19:26 绯狱丸丶 阅读(304) 评论(0) 推荐(0)
摘要:0x00 问题详情 当在 vscode 配置 golang 环境时,会出现如下报错 A connection attempt failed because the connected party did not properly respond after a peri 这个经过测试,不是网络问题, 阅读全文
posted @ 2021-12-16 10:29 绯狱丸丶 阅读(696) 评论(0) 推荐(0)