文章分类 - Go基础
摘要:反射 : 在运行时动态获取变量相关信息 reflect包 测试 Value取值修改 操作字段与方法 根据名称获取 循环获取 字段 方法 通过反射访问Tag
阅读全文
摘要:socket编程 服务端处理流程的发展过程 初级 : 单进程, 单线程执行 中期 : 每个请求都由一个线程来完成 后期 : 监听socket状态, IO多路复用 go语言服务端处理流程 监听端口 -> 接收客户端的连接 -> 创建goroutine, 处理该链接 客户端流程 连接服务端 -> 进行数
阅读全文
摘要:gorouting goroutine是Go语言中的轻量级线程实现,由Go运行时(runtime)管理。 在一个函数调用前加上 go 关键字,这次调用就会在一个新的goroutine中并发执行。当被调用的函数返回时,这个goroutine也自动结束了。需要注意的是,如果这个函数有返回值,那么这个返回
阅读全文
摘要:创建错误 error实际上是个接口 我们可以自定义错误 Panic和Recover panic 意思是抛出一个异常, 和python的raise用法类似recover是捕获异常,和python的except用法类似defer会延迟函数到其他函数之后完之后再执行,后面跟的是函数golang 的错误处理
阅读全文
摘要:使用OS操作文件 读写示例 相关常量及File的方法 先介绍打开文件的方法参数及返回值 File结构体的方法 os下的其他方法 ioutil包 写文件 读文件 使用bufio读写文件 bufio 用来帮助处理 I/O 缓存。 我们将通过一些示例来熟悉其为我们提供的:Reader, Writer an
阅读全文
摘要:GO语言中没有class的定义, 但是struct实现了class的功能(方法, 继承等) struct声明 声明定义及访问 声明 访问 ps: 无论变量是指针类型还是非指针类型都可以直接使用.的方式去操作 结构体在内存中的布局是连续的, 是指类型, 函数传递要传递指针 struct没有构造函数,
阅读全文
摘要:包相当于python的模块, 可以被其他包引用 环境变量以及目录配置 配置环境变量GOPATH为项目目录 踩坑记录: vscode中需要设置go.gopath 项目目录下的结构如下所示 安装第三方包 使用go get 命令 文件下载到GOPATH下的src中 使用该命令时可能会出现的错误 原因win
阅读全文
摘要:函数 : 实现某些功能的代码的封装 Go函数声明 Go函数特性 匿名函数 -- 过 Go语言 函数也是一种类型(可以作为函数参数的类型), 一个函数可以赋值给变量 相同参数,返回值的函数可以认为是相同类型 闭包: 一个函数和与其相关的引用环境组合而成的实体; 也就是我们说的在一个函数内部访问外部的非
阅读全文
摘要:字符串, 字符, 字节 字符串: go语言中字符串用"双引号"或`反引号`(1左边那个键). 并且反引号还有取消转义的作用 字符串操作 字符串切片 字符串的底层布局: 存放起始内存位置和长度的结构体 求长度: len(str) 不演示 byte, rune byte 等同于int8,常用来处理asc
阅读全文
摘要:Hello word示例 常量变量 常量 : 运行过程中不可被改变 只能修饰 布尔值, 数字(整数, 浮点数, 复数)和字符串 变量: 代号, 在go中可被重新赋值相同的数据类型 变量可定义为各种类型 代码示例 注意事项 方法内声明变量一定要使用,否则无法通过编译 语句一定要在方法内, 像下面这种赋
阅读全文