随笔分类 -  go

摘要:前言 常见的文件操作:读、写、追加、复制,在go语言中标准库os提供了Openfile函数来进行此类操作,其原型如下: func OpenFile(name string, flag int, perm FileMode) (file *File, err error) 其中 name 是文件的文件 阅读全文
posted @ 2022-10-13 10:21 萤huo虫 阅读(568) 评论(0) 推荐(0)
摘要:稀疏数组实现: package main import "fmt" type SparseArray struct { col int row int value int } func main() { // 源数据格式: /* 0 0 0 2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 阅读全文
posted @ 2022-09-25 22:26 萤huo虫 阅读(28) 评论(0) 推荐(0)
摘要:go 程通信 1、当涉及到多go程时,c 是使用互斥量,上锁来保持资源同步,避免资源竞争问题 2、go语言也支持这种方式,但go语言更好的解决方案是使用管道、通道channel 3、使用通道不需要我们去加锁 4、A往通道里写数据, B从通道中读数据,go自动帮我们做好了数据同步 用例: packag 阅读全文
posted @ 2022-09-15 11:26 萤huo虫 阅读(168) 评论(0) 推荐(0)
摘要:接口interface go 中以关键字interface代表接口 interface 可以用于多态, 还可以接受任意数据类型, 类似void 用例: package main import ( "fmt" ) func main() { var q, w, e interface{} // 空接口 阅读全文
posted @ 2022-09-13 17:22 萤huo虫 阅读(43) 评论(0) 推荐(0)
摘要:go - 退出语句 主要分为: return 、Exit、Goexit 用例代码: package main import ( "fmt" "runtime" "time" ) /* return 退出当前函数 os.Exit(-1) 退出当前进程(程序) runtime.Goexit() 退出当前 阅读全文
posted @ 2022-09-13 10:12 萤huo虫 阅读(82) 评论(0) 推荐(0)
摘要:GO 多态概念: 1、定义一个接口,用于接收实例化对象, 此接口中设计好需要的方法(类 - 函数),可以有多个。 2、任何实现了这个接口的类型,都可以赋值给这个接口,从而实现多态。 3、多个类之间不需要有继承关系。 4、如果interface 接口中定义了多个接口(方法), 那么实际的类必须全部实现 阅读全文
posted @ 2022-09-09 15:29 萤huo虫 阅读(256) 评论(0) 推荐(0)
摘要:为了搞懂这个问题,先看一段代码: package main import "fmt" func main() { s := []int{2, 3, 5, 7, 11, 13} printSlice(s) s = s[:0] printSlice(s) s = s[:4] printSlice(s) 阅读全文
posted @ 2022-09-08 15:25 萤huo虫 阅读(456) 评论(0) 推荐(0)
摘要:变量 // 变量定义 // 方式一 先定义, 在赋值 var value string value = "dddd" fmt.Printf("value is :%s\n", value) // 方式二 定义直接复制 var value2 string = "heihei" fmt.Printf(" 阅读全文
posted @ 2022-09-06 17:34 萤huo虫 阅读(36) 评论(0) 推荐(0)