服务器端简单例子: 客户端简单例子 贴吧单线程爬取例子 贴吧多线程爬虫简单例子 多线程爬取多个页面例子
服务器端简单例子: 客户端简单例子 贴吧单线程爬取例子 贴吧多线程爬虫简单例子 多线程爬取多个页面例子
TCP服务器代码编写 // windows会把结尾\r\n都计算进来 // if "exit" == string(buf[:n-2]) { 发送文件到服务器 并发聊天服务器...
timer 延时2秒 Ticker select
在资源有限的情况下,如何最大化的利用有限的资源就是并发,提高并发 goroutine runtime包 channel 无缓冲的channel 有缓冲的channel 通过关...
设备文件: 屏幕(标准输出设备)fmt.println() 往标准输出设备写内容 键盘(标准输入设备)fmt.Scan() 从表顺输入设备读取内容磁盘文件...
字符串操作 字符串转换 正则表达式
error 是一个接口,接口中有Error()方法和返回值string // 就相当于 var tmp error// errorString 只要实现了error接口中的方...
空接口 断言 我们知道interface{}可以保存任意类型的数,所以我们要通过断言查询是什么类型断言的对象是空接口
尽管GO语言没有封装,继承,多态这些概念,但同样通过别的方式实现这些特性封装:通过方法实现继承:通过匿名字段实现多态:通过接口实现 匿名字段 方法method functio...
结构体可见性规则 如果想使用别的包的函数,结构体,结构体成员, 函数名,类型名... 首字母必须要大写, 如果首字母小写,智能在同一个包里使用
map 值可以是任意类型, map键的数据类型必须是相同的,值的类型也是map是无序的
数组的长度在定义之后无法修改,数组是值类型,每次传递都要产生一个副本切片并不是数组或数组指针,它是通过内部指针和相关属性引用数组片段,以实现变长方案, slice并不是真正意...
https://studygolang.com/pkgdoc
指针 go语言指针:默认值为nil , 没有NULL常量操作符 "&" 取变量地址 &a , "*" 通过指针访问变量内存不支持指针运算,不支持"->"运算符, 直接用"."...
func init() { fmt.Println("main init")}init 函数会在最开始执行, 导入包,会先执行包中的init函数
多返回值函数 递归 函数类型 type 回调函数 和多态(强大) 匿名函数 与 闭包 关键字defer(defer只能放在函数或方法的内部)
if 条件 switch 循环 break和continue goto
布尔 浮点型 字符类型 (ascill码) 字符串类型 复数类型 打印格式 阻塞等待用户输入 类型的转换 类型别名