随笔分类 - GoLang 学习
摘要:一: 进程、线程 和 协程 之间概念的区别: 对于 进程、线程,都是有内核进行调度,有 CPU 时间片的概念,进行 抢占式调度(有多种调度算法) (补充: 抢占式调度与非抢占(轮询任务调度)区别在于抢占式调度可以因为优先级高的任务抢占cpu,而轮询的不能) 对于 协程(用户级线程),这是对内核透明的
阅读全文
摘要:Modules controller ORM 另外还有一种传递数组的方式,而且应用更广泛: Controller: ORM:
阅读全文
摘要:router.go myModules.go userController.go
阅读全文
摘要:golang语言中没有继承,但是可以依靠组合来模拟继承和多态。 但是,这样模拟出来的继承是有局限的,也就是说:在需要多态的时候,需要小心。
阅读全文
摘要:app.conf:
阅读全文
摘要:1 DB参数配置在app.conf 2 模型定义在Models.go中 3 main
阅读全文
摘要:直接上常用的例子吧: A: 获取URL中的参数 router func init() { beego.Router("/task/?:id/?:name", &controllers.TaskController{}) } controller func (c *TaskController) Ge
阅读全文
摘要:1 Router和Controller的常用配置 beego.Router("/user/admin", &controllers.UserController{}) // Get和Post都能用 beego.Router("/test", &controllers.UserController{}) // Get和POST请求都能处理 beego.Router(...
阅读全文
摘要:下面的命令我都是在$GOPATH的路径下执行的: 1. 首先下载beego框架: go get github.com/astaxie/beego (注意:运行上面命令时没有反应,需要在etc/hosts里配置 192.30.253.112 github.com 151.101.185.194 git
阅读全文
摘要:1 丰富的内置类型 2 函数多返回值 3 Go的错误处理 : Go语言引入了3个关键字用于标准的错误处理流程,这3个关键字分别为defer、 panic和 recover 4 在Go语言中,所有的函数也是值类型: 可以作为参数传递。 5 类型和接口 Go语言的类型定义非常接近于C语言中的结构(str
阅读全文
摘要:panic 、recover、 defer
阅读全文
摘要:Go语言的这些地方都做的还不错: 拥有自动垃圾回收: 不用手动释放内存 一个包系统: Go 语言的源码复用建立在包(package)基础之上。包通过 package, import, GOPATH 操作完成。 Go 语言的入口 main() 函数所在的包(package)叫 main,main 包想
阅读全文
摘要:在 Golang 里, _ (下划线)是个特殊的标识符。 用在 import 在导包的时候,常见这个用法: 1 2 import _ "net/http/pprof" import _ "github.com/go-sql-driver/mysql" 1 2 import _ "net/http/p
阅读全文
摘要:1 下载 https://studygolang.com/dl 2 安装完成后,查看环境变量 3 进入到 GOPATH下面,新建一个工程 4 运行程序 5 新建一个工程 工程中有两个文件,其中hello.go文件会调用test.go文件中的Bfunc函数。 注意: 这里运行的 go run ./,
阅读全文
摘要:把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 解golang的interface主要在于以下两点: interface是方法的集合 interface是一种类型
阅读全文
摘要: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...
阅读全文
摘要:一 切片 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 二 len() 和 cap() 函数 切片是可索引的,并且可以由 len() 方法获取长度
阅读全文
摘要:一 结构体定义 二 结构体作为函数参数 三 定义多个结构体:
阅读全文