aaaaaaaa

第 6426 号会员 /

回复了 9096312 创建的主题: Go的接口怎么那么难理解呢?

简写而已.

var i defaultLogin
i=0
return i
这你就明白了. defaultLogin(0) 仅仅是把字面值类型转换, 简写而已.
至于接口和PHP的接口类一样的, 你PHP没学好吗?

go语法简单的, 但你要造无数的轮子, 慢慢你就明白了. 坑还是挺多的, 我昨天连 init() 顺序都出现坑, 逼迫我把所有Init()写在一起. 有时候的坑莫名其妙, 需要一个折腾的过程.

不动手写项目, 你永远不会明白具体. 写个GOLANG web框架吧, 然后就明晰了. 不以实际应用场景去学习都是扯淡.

回复了 dyllen 创建的主题: 从数据库里面查出来的数据,这么给到对应的struct?

没看懂什么意思?
自动完成?

// 自动完成
    func (this *User) Auto(mode int, c *frame.Context) {
        if mode == 1 {
            this.Password = base.Md5(this.Password)
            this.Regdate = time.Now().Unix()
            this.Regip = c.Ip()
        }

        if mode == 2 {
            this.Lastip = c.Ip()
            this.Lastdate = time.Now().Unix()
        }
    }

我都是写个函数,主动调用下.

回复了 go_nerd 创建的主题: Array

二进制移位啊, 2的N次方的意思作为KEY;

// 刚写的代码差不多一个道理
var table = [64]byte{ 
    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
    'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
    'u', 'v', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E',
    'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
    'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'X', 'Y', 'Z',
    '#', '+', '*', '-',
}

func Encode(src []byte) string {
    dst := make([]byte, len(src)*5)
    for i, v := range src {
        dst[i*2] = table[v>>5]
        dst[i*2+1] = table[v&0x3F]
}
    return string(dst)
}

回复了 qq277049 创建的主题: xorm使用是不是一定要手动写struct?

我的CURD代码简洁, 比XORM功能强多了, 我是一边写项目, 一边改, 基本上15天左右升级一次. 关键是自己够用. 这种核心部件一定要自己写, 否则你会难受死.