Go Admin基础开发 一、项目配置下载项目(当前使用主分支) 1git clone https://github.com/go-admin-team/go-admin.git && cd go-admin 安装依赖(提前配置好GOPROXY) 1go mod tidy 整个数据库(最简单的就是直接拉个docker跑起来),然后创个库,修改config/settings.yml 配置文件中数据库的配 2021-03-23 Programming > Go #Go
Go文件读写 一、文件读写1.1.读文件1.1.1. os.ReadFile1234567func ReadByOSReadFile() { dat, err := os.ReadFile("./main.go") // ioutil.ReadFile等同于os.ReadFile // dat, err := ioutil.ReadFile("./main.go" 2021-02-22 Programming > Go #Go
Go并发 -- 竞态 关于并发编程,需要了解一些基础的概念 一、什么是并发在串行程序中,程序中各个步骤的执行顺序由程序逻辑来决定。例如,第一条语句先于第二条语句执行,以此类推。 在不同的goroutine中,各自的语句也是按顺序执行。但是,不同goroutine语句(或者说事件)的执行顺序关系,我们是不知道的。我们无法确定地说一个事件先于另一个事件,那么这两个事件就是并发的。 二、什么是并发安全如果一个函数在并发调用时 2021-02-13 Programming > Go #Go
Go并发 -- goroutine goroutine一、goroutine基础1.1.什么是goroutinegoroutine的概念类似于线程,但 goroutine是由Go的运行时(runtime)调度和管理的,其他语言,类似java/c++需要自己维护线程池 1.2.goroutine和操作系统的线程可增长的栈空间栈内存区域用来保存在其他函数调用期间那些正在执行或者临时暂停的函数中的局部变量 每个操作系统线程都有 2021-01-05 Programming > Go #Go
Go反射 Go反射一、什么是反射在编译时不知道类型的情况下,更新变量;在运行时查看未知类型变量的值、调用方法以及直接对他们的布局进行操作,这种机制称为反射。 二、为什么需要反射当我们无法透视一个未知类型布局的时候,需要使用反射。 假设现在需要实现一个Sprint函数,将不同类型的值以字符串形式返回。 使用类型分支来实现,就需要去case每一种类型。我们不可能去穷举各种类型,更何况还可能是自定义的类型。 12 2021-01-05 Programming > Go #Go
Go接口--类型断言 类型断言类型断言的用法类型断言是一个作用在接口值上的操作,作用是从它的操作数中把具体类型的值提取出来,写法如下 123a := x.(T)// x是一个接口类型// T是一个类型 如果断言成功,那么返回结果(a)就是x的动态值 如果断言失败(类型错误或者接口值为nil),就会触发panic 1234567891011121314151617package mainimport "fm 2020-12-28 Programming > Go #Go
Go接口--error接口 error接口error接口和errors包error接口很简单,它只是一个接口类型,不含一个返回错误消息的方法 123type error interface{ Error() string} 构造error最简单的方法是用errors.New,其返回一个包含错误消息的error类型 errors这个包也很简单,就只有四行代码 12345678910111213141516 2020-12-26 Programming > Go #Go
Go接口--HTTP Handler HTTP Handler接口使用http.ListenAndServe函数启动一个基本HTTP服务器,其参数包含监听的地址和http.Handler 1234func ListenAndServe(addr string, handler Handler) error { server := &Server{Addr: addr, Handler: handler 2020-12-22 Programming > Go #Go
Go接口 一、接口的定义 接口是一种抽象类型 接口定义了方法的集合,简单地概括接口的作用:不关心是什么,只关心能做什么 二、接口的声明声明一个接口很简单,使用interface关键字,然后定义接口包含哪些方法即可 1234type IF interface { functionA() functionB(string) string} 接口的组合,类似结构体的组合 123456789 2020-12-16 Programming > Go #Go
Go函数篇--方法的定义 对于Go语言的面向对象编程(OOP),对象就是一个简单的值或者变量,并且拥有其方法,而方法就是特定类型的函数 关键的两个原则:封装、组合 一、方法的声明方法的声明和普通函数类似,只是在函数名字的前面多了一个参数。该参数将这个方法绑定到这个参数对应的类型上 1234567891011121314151617181920212223242526package mainimport "fm 2020-11-13 Programming > Go #Go