07:Model(关于方法调用和方法参数问题的记录)

有些事做一做,就能感觉到“万事开头难”,当然还能感觉到自己水平有够低。有了这份经历,对各位开源大神也有了几分敬意。只要做了一遍,就完全不一样了,那么以后对待那些不做而评头论足的人,也就没有必要理会了。

低水平代码,只记录自己学习的发现。

基本思路是,建立Model,用于拼接SQL。

所有的model可以直接setStr(col,value)去赋值(当然一开始也只支持string),随后可以直接model.Insert进行插入操作。

type Model struct {
	attr      map[string]string
	TableName string
}
func (model *Model) SetStr(col string,value string){
	if model.attr==nil {
		model.attr = make(map[string]string)
	}
	model.attr[col]=value
}

这里发现两个要注意的(只是基础不牢的人区分与Java不同时要注意的),其他go文件里调用方法,只能调用首字母大写的方法。比如我原本定义的是setStr,那么其他package下的go文件就无法调用,改成SetStr就可以了。

另外是关于func中的参数,对于Java,方法是类的行为,那么model.save()可以直接调用,在go中,需要写成func (model Model) setStr,那么model.setStr才能被调用。同时,(model Model)和(model *Model)也有区别,具体内容在这里不详细说(这里可以稍微了解下),在目前使用的层面上而言,(model *Model)可以使各方法可以共享type里定义的变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值