求助 关于 revel 怎么使用beedb orm
**我现在使用revel 但是只有grop 的列子。请问怎么使用beedb 呢?*...阅读全文
**我现在使用revel 但是只有grop 的列子。请问怎么使用beedb 呢?*...阅读全文
之前在做其他语言是,对于异步调用,总有返回值和错误返回,并且能接收,对其进行处理。 在go语言中,对于协程goroutine的代码,因为没有返回值接收,导致新手在学习时候会有困惑: goroutine的返回值(包括错误)怎么捕获呢? 下面我们写一个列子来说明下。 package main import ( "fmt" "log" "time" ) type Resp struct { data int error error } func main() { handleMsg() } func handleMsg() { resp := make(chan Resp) stop := make(chan struct{}) go func() { t := time.Tick(time.Se...阅读全文
初步介绍 相同点:如果之前使用过java语种的话,简单的讲定义一个接口,类去实现这个接口的所有方法即可。 不同点: 在golang中会区分值类型和指针类型 具体的让我们看下代码吧 第一个列子: receiver 是值类型,接口赋值的也是值类型 package main import "fmt" type Ball struct { val int } type Bar interface { setVal(newVal int) getVal() int } func (b Ball) getVal() int { return b.val } func (b Ball) setVal(newVal int) { b.val = newVal } func main() { var bar ...阅读全文
  上面那个列子和我想的一样 按照对齐的规则计算的 type class struct { //32 fff byte //1 className string //16 } func main(){ c:=class{ className:"111", fff:1, } fmt.Println(unsafe.Sizeof(c.className)) f...阅读全文
# 简明笔记:指针传递和值传递 值传递,拷贝一份值接收者的副本。指针传递,则直接指向值接收者。 一个超级简单的列子: ```go package main import ( "fmt" ) type myself struct { name string } func (u myself) self_change_name(name string){ // 注意: 这里是拷贝一份 myself u.name = name fmt.Println(u.name) } func (u *myself) police_station_change_name(name string){ //指向myself u.name = name } func main() { ms := myself{"Po...阅读全文