随笔分类 -  GoLang 学习

摘要:一: 进程、线程 和 协程 之间概念的区别: 对于 进程、线程,都是有内核进行调度,有 CPU 时间片的概念,进行 抢占式调度(有多种调度算法) (补充: 抢占式调度与非抢占(轮询任务调度)区别在于抢占式调度可以因为优先级高的任务抢占cpu,而轮询的不能) 对于 协程(用户级线程),这是对内核透明的 阅读全文
posted @ 2019-07-15 22:21 刘大飞 阅读(317) 评论(0) 推荐(1) 编辑
摘要:Modules controller ORM 另外还有一种传递数组的方式,而且应用更广泛: Controller: ORM: 阅读全文
posted @ 2019-05-03 08:27 刘大飞 阅读(2807) 评论(0) 推荐(2) 编辑
摘要:router.go myModules.go userController.go 阅读全文
posted @ 2019-05-02 11:20 刘大飞 阅读(1326) 评论(0) 推荐(0) 编辑
摘要:golang语言中没有继承,但是可以依靠组合来模拟继承和多态。 但是,这样模拟出来的继承是有局限的,也就是说:在需要多态的时候,需要小心。 阅读全文
posted @ 2019-05-02 11:01 刘大飞 阅读(510) 评论(0) 推荐(0) 编辑
摘要:app.conf: 阅读全文
posted @ 2019-05-02 10:38 刘大飞 阅读(326) 评论(0) 推荐(0) 编辑
摘要:1 DB参数配置在app.conf 2 模型定义在Models.go中 3 main 阅读全文
posted @ 2019-04-13 22:49 刘大飞 阅读(2541) 评论(0) 推荐(0) 编辑
摘要:直接上常用的例子吧: A: 获取URL中的参数 router func init() { beego.Router("/task/?:id/?:name", &controllers.TaskController{}) } controller func (c *TaskController) Ge 阅读全文
posted @ 2019-04-10 23:03 刘大飞 阅读(1650) 评论(0) 推荐(0) 编辑
摘要:1 Router和Controller的常用配置 beego.Router("/user/admin", &controllers.UserController{}) // Get和Post都能用 beego.Router("/test", &controllers.UserController{}) // Get和POST请求都能处理 beego.Router(... 阅读全文
posted @ 2019-04-09 22:30 刘大飞 阅读(745) 评论(0) 推荐(0) 编辑
摘要:下面的命令我都是在$GOPATH的路径下执行的: 1. 首先下载beego框架: go get github.com/astaxie/beego (注意:运行上面命令时没有反应,需要在etc/hosts里配置 192.30.253.112 github.com 151.101.185.194 git 阅读全文
posted @ 2019-04-08 21:57 刘大飞 阅读(1284) 评论(0) 推荐(0) 编辑
摘要:1 丰富的内置类型 2 函数多返回值 3 Go的错误处理 : Go语言引入了3个关键字用于标准的错误处理流程,这3个关键字分别为defer、 panic和 recover 4 在Go语言中,所有的函数也是值类型: 可以作为参数传递。 5 类型和接口 Go语言的类型定义非常接近于C语言中的结构(str 阅读全文
posted @ 2019-04-06 10:36 刘大飞 阅读(191) 评论(0) 推荐(0) 编辑
摘要:panic 、recover、 defer 阅读全文
posted @ 2019-04-06 10:30 刘大飞 阅读(99) 评论(0) 推荐(0) 编辑
摘要:Go语言的这些地方都做的还不错: 拥有自动垃圾回收: 不用手动释放内存 一个包系统: Go 语言的源码复用建立在包(package)基础之上。包通过 package, import, GOPATH 操作完成。 Go 语言的入口 main() 函数所在的包(package)叫 main,main 包想 阅读全文
posted @ 2019-04-05 21:51 刘大飞 阅读(474) 评论(0) 推荐(0) 编辑
摘要:在 Golang 里, _ (下划线)是个特殊的标识符。 用在 import 在导包的时候,常见这个用法: 1 2 import _ "net/http/pprof" import _ "github.com/go-sql-driver/mysql" 1 2 import _ "net/http/p 阅读全文
posted @ 2019-03-14 22:27 刘大飞 阅读(431) 评论(0) 推荐(0) 编辑
摘要:1 下载 https://studygolang.com/dl 2 安装完成后,查看环境变量 3 进入到 GOPATH下面,新建一个工程 4 运行程序 5 新建一个工程 工程中有两个文件,其中hello.go文件会调用test.go文件中的Bfunc函数。 注意: 这里运行的 go run ./, 阅读全文
posted @ 2019-03-10 09:01 刘大飞 阅读(341) 评论(0) 推荐(0) 编辑
摘要:把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 解golang的interface主要在于以下两点: interface是方法的集合 interface是一种类型 阅读全文
posted @ 2018-06-18 12:03 刘大飞 阅读(120) 评论(0) 推荐(0) 编辑
摘要:类型转换用于将一种数据类型的变量转换为另外一种类型的变量 阅读全文
posted @ 2018-06-18 11:49 刘大飞 阅读(82) 评论(0) 推荐(0) 编辑
摘要:Map 是一种无序的键值对的集合 二 删除元素 阅读全文
posted @ 2018-06-18 11:45 刘大飞 阅读(120) 评论(0) 推荐(0) 编辑
摘要:Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素 package main import "fmt" func main() { nums := []int {1,2,3,4} // 数组 for num := range nums { fmt.Pr... 阅读全文
posted @ 2018-06-18 11:40 刘大飞 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一 切片 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 二 len() 和 cap() 函数 切片是可索引的,并且可以由 len() 方法获取长度 阅读全文
posted @ 2018-06-18 11:05 刘大飞 阅读(206) 评论(0) 推荐(0) 编辑
摘要:一 结构体定义 二 结构体作为函数参数 三 定义多个结构体: 阅读全文
posted @ 2018-06-18 11:01 刘大飞 阅读(110) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示