随笔分类 -  go

摘要:go使用sqlx 基本使用 连接数据库 package main import ( "fmt" "github.com/jmoiron/sqlx" ) import _ "github.com/go-sql-driver/mysql" // 匿名导入,只会执行mysql包中的init()方法,可以不 阅读全文
posted @ 2020-10-07 22:36 _慕 阅读(1097) 评论(0) 推荐(0)
摘要:go的mysql预处理和mysql事物 what is mysql预处理? 普通SQL语句执行过程: 1.客户端对SQL语句进行占位符替换得到完整的SQL语句。 2.客户端发送完整SQL语句到MySQL服务端 3.MySQL服务端执行完整的SQL语句并将结果返回给客户端。 预处理执行过程: 1.把S 阅读全文
posted @ 2020-08-16 20:02 _慕 阅读(808) 评论(0) 推荐(0)
摘要:go操作database/sql的mysql相关 下载依赖 go get -u github.com/go-sql-driver/mysql 事例 package main import ( "database/sql" "fmt" ) import _ "github.com/go-sql-dri 阅读全文
posted @ 2020-08-12 22:54 _慕 阅读(652) 评论(0) 推荐(1)
摘要:安装工具 最简单的方式 $ go get -u golang.org/x/tool/... 替代方式 $ GO111MODULE=on go get golang.org/x/tool/cmd/stress 环境变量 $ go env $ go env GOPATH GOO GOARCH $ go 阅读全文
posted @ 2020-07-23 11:15 _慕 阅读(2521) 评论(0) 推荐(0)
摘要:go的异常处理panic/recover Go语言中目前(Go1.12)是没有异常机制,但是使用panic/recover模式来处理错误。 panic可以在任何地方引发,但recover只有在defer调用的函数中有效 阅读全文
posted @ 2020-02-28 19:35 _慕 阅读(159) 评论(0) 推荐(0)
摘要:通过反射获取值 通过反射修改变量的值 函数传递的参数是值拷贝 go反射中使用 Elem()方法获取指针对应的值 IsNil()和IsValid() IsNil()常被用于判断指针是否为空;IsValid()常被用于判定返回值是否有效 go的结构体反射 任意值通过reflect.TypeOf()获得反 阅读全文
posted @ 2020-02-26 11:01 _慕 阅读(204) 评论(0) 推荐(0)
摘要:go中使用空接口保存任意值的字典 go类型断言,提取空接口可以存储任意类型的值 使用swith case 阅读全文
posted @ 2020-02-25 21:03 _慕 阅读(154) 评论(0) 推荐(0)
摘要:Go的并发 并发和并行 并发:同一 内执行多个任务 并行:同一 执行多个任务 类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个 并发工作 是由Go语言的运行时(runtime)调度完成,而线程是由操作系统调度完成 在多个 间进行通信 goroutine 的概念类似于线程,但 是由Go的运 阅读全文
posted @ 2020-01-15 15:29 _慕 阅读(889) 评论(0) 推荐(0)
摘要:Go的反射 变量内在机制 1. 类型信息:预先定义好的元信息 2. 值信息:程序运行过程中可动态变化的 反射概念 程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分 支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供 阅读全文
posted @ 2020-01-11 09:50 _慕 阅读(193) 评论(0) 推荐(0)
摘要:Go的interface接口 接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节 是一组 的集合,是 的一种体现 只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性(数据),只关心行为(方法) 接口(interface)是一种类型 一个对象 阅读全文
posted @ 2020-01-09 17:07 _慕 阅读(132) 评论(0) 推荐(0)
摘要:Go的包 包介绍 是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如 、`os io`等 定义包 我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放 文件的文件夹 该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归属的包 一个文件夹 阅读全文
posted @ 2020-01-08 18:21 _慕 阅读(133) 评论(0) 推荐(0)
摘要:Go的结构体 结构体 Go语言提供了一种自定义数据类型,可以封装多个基本数据类型,这种数据类型叫结构体,英文名称 结构体的定义 类型名:自定义结构体的名称,在同一个包内不能重复 字段名:结构体中的字段名必须惟一 字段类型:表示结构体字段的具体类型 例子一 结构体实例化 只有当结构体实例化时,才会真正 阅读全文
posted @ 2020-01-08 11:33 _慕 阅读(313) 评论(0) 推荐(0)
摘要:Go的指针 :保存指针地址 Go语言中的指针不能进行偏移和运算 两个符号: (取地址)和 (根据地址取值) 指针地址和指针类型 每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置 Go语言中的值类型(int、float、bool、string、array、struct)都有对应的指针类型 阅读全文
posted @ 2020-01-03 09:14 _慕 阅读(268) 评论(0) 推荐(0)
摘要:Go的函数 函数定义 Go语言中支持函数、匿名函数和闭包 函数可变参数 可变参数是指函数的参数数量不固定。Go语言中的可变参数通过在参数名后加 来标识 可变参数要放在固定参数的后面 返回值命名 变量作用域 全局变量 全局变量定义在函数外,在程序运行周期内都有效 局部变量 函数内定义的变量无法在该函数 阅读全文
posted @ 2020-01-02 09:54 _慕 阅读(185) 评论(0) 推荐(0)
摘要:Go的map map 为映射关系容器,内部为 实现 是引用类型,必须初始化 map类型的变量默认初始值为nil,需要使用make()函数来分配内存 cap表示map的容量,该参数虽然不是必须的,但是我们应该在初始化map的时候就为其指定一个合适的容量 声明时填充元素 go判断map中键是否存在 go 阅读全文
posted @ 2019-12-29 13:12 _慕 阅读(168) 评论(0) 推荐(0)
摘要:Go的切片 切片 切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。支持自动扩容 切片是一个引用类型 切片内部结构包含 、`长度 容量` 切片的长度和容量 切片拥有自己的长度和容量,使用内置的 ,使用内置的 基于数组定义切片 基于切片再切片 注意: 对切片(b) 阅读全文
posted @ 2019-12-28 13:29 _慕 阅读(341) 评论(0) 推荐(0)
摘要:Go的数组 Array(数组) Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化 数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。 和`[5]int`是不同的类型 数组可以通过下标进行访问,下标是从 开始,最后一个元素下标是: ,访问越界(下标在合 阅读全文
posted @ 2019-12-27 09:43 _慕 阅读(307) 评论(0) 推荐(0)
摘要:Go的循环语句 if else(分支结构) Go语言规定与 匹配的左括号 必须与 放在同一行, 放在其他位置会触发编译错误。 同理,与 匹配的 也必须与 写在同一行, 也必须与上一个 或`else if`右边的大括号在同一行 if条件判断特殊写法 if条件判断还有一种特殊的写法,可以在 if 表达式 阅读全文
posted @ 2019-12-26 09:11 _慕 阅读(308) 评论(0) 推荐(0)
摘要:Go的运算符 运算符 Go 语言内置的运算符有: 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 | 运算符 | 描述 | | : : | : : | | + | 相加 | | | 相减 | | | 相乘 | | / | 相除 | | % | 求余 | 关系运 阅读全文
posted @ 2019-12-25 18:44 _慕 阅读(292) 评论(0) 推荐(0)
摘要:Go基础 Go的变量和常量 Go的基本数据类型 Go的运算符 Go的循环语句 Go的数组 Go的切片 Go的map Go的函数 Go的指针 Go的结构体 Go的包 Go的interface接口 Go的反射 Go的并发 转载文章全部来源链接 https://goproxy.cn,direct Ubun 阅读全文
posted @ 2019-12-25 16:33 _慕 阅读(374) 评论(0) 推荐(0)

Title
返回顶部