go中的struct 的factory method有什么用。
在学习struct时的疑惑。 比如说我要定义一个struct: type person struct{ name string } 直接person1 := person{“小王”} 就可以了,不明白工厂函数(以及用指针形式)的优势在哪里,求...阅读全文
在学习struct时的疑惑。 比如说我要定义一个struct: type person struct{ name string } 直接person1 := person{“小王”} 就可以了,不明白工厂函数(以及用指针形式)的优势在哪里,求...阅读全文
因为感觉Go这个语言比较灵活,属于新生语言,有些公司企业已经是Go的项目了,但有些疑惑的是,单单学会Go这个语言,可以开发出东西出来吗?感觉网上很多都是以Go作为辅助开发而已,如果只学会Go估计是不行吧??假如要学的话的,是不是要补其他语言的知识?感谢回答的朋...阅读全文
1、希望有 xorm reverse mysql root:@/xorm_test?charset=utf8 templates/goxorm 详细说明 2、我执行了xorm reverse mysql root:root@/test?charset=utf8 和xorm reverse mysql root:root@/test?charset=utf8 templates/goxorm 均 只是生成了 model文件夹,里面是空的 3、我执行xorm reverse mysql root:root@127.0.0.1:3306/test?charset=utf8 templates/goxorm 2017/08/16 14:09:18 [Error] reverse....阅读全文
```go package main import ( "fmt" ) type stu struct { a int64 b int64 } func Add(a, b int64) (int64, error) { return a + b, nil } func (p *stu) Add(a, b int64) (int64, error) { //var err error p.a, err:= Add(a, b)//此处为什么会提示错误,p.a已经存在,但err不存在。感觉应该可以啊 fmt.Println(p.a) if err != nil { fmt.Println(err.Error()) } ret...阅读全文
在开发中用到了row := this.db.QueryRow(sqltext, idinput)方法 er := row.Scan(&id, &user_id) 这里有一个问题,当没有满足条件的数据时,er 它不为nil, 此时在外部用时就没法区分是没有相关的数据还是其它什么错误(数据库连接问题等...阅读全文
对Go异常处理有一些疑惑,比如我有一个divide的方法: ```go func divide(a int, b int) float32 { defer func() { if err := recover(); err != nil { //此处recover了,所以可以继续往执行 fmt.Println(err) } }() return float32(a / b) } func main() { var a int = 10 var b int = 0 fmt.Println(divide(a, b)) //打印出0 } ``` 异常可以处理掉,但是返回的0就非常疑惑了,因为调用方不知道是发生了异常,还是结果是0。 比如: ...阅读全文
我有一个判空函数 ``` func IsEmpty(val interface{}) bool { if val != nil { switch v := val.(type) { case bool: return false case string: return v == "" case int64, int8, int32, int, int16, float64, float32, uint64, uint8, uint32, uint, uint16: return v == 0 case time.Time: return v.IsZero() case []interface{}: retur...阅读全文
 编译需要先编译jisuan这个包, 这个包会编译后放在哪,没找...阅读全文
package main
import (
"fmt"
)
type People interface {
Show()
}
type Student struct{}
func (stu *Student) Show() {
}
func live() People {
var stu *Student
fmt.Println(stu==nil)//true
return stu
}
func main() {
if live() == nil {//为什么是false?
fmt.Println("AAAAAAA")
} else {
fmt.Println("BBBBBBB")...阅读全文
X
登录和大家一起探讨吧