&(commodity.InsertDatetime), &(commodity.UpdateDatetime))
if err != nil {
pillarsLog.PillarsLogger.Print(err.Error())
return nil, err
}
}
return &commodity, err
7.2 Mongodb
err := mongoUtility.PictureCollection.Find(bson.M{"picturecode":*pictureCode}).One(&picture)
这里只给出最简单的例子。具体的看mgo的开发文档就ok。还是比较简单的。
8.单元测试注意事项
测试命令 go test -v (没有其他参数了!!!) 如果不带-v只显示结果,不显示调试过程,主要是调试开发的时候用
文件格式 xxx_test.go 但是建议改成 xxx_test0.go 或者喜欢改成别的也可以。
由于测试先行的原则,在开发的时候一次测试也就一两个函数。
这样相当于把其他测试注释掉
测试的时候的配置文件要放到测试目录下面。别忘了。
心态,错误太多一个一个来,要有个好心态。
9.LOG
注意在调试中Log的不可缺失性。
下面api如果不知道从何而来直接doc搜索就可以了。
package utility
import "log"
import "os"
import "fmt"
// Logger Model min variable.
var Logger *log.Logger
var outFile *os.File
// init function if Logger if not inited will invoke this function
func init() {
if Logger == nil {
propertyMap := ReadProperty("pic.properties")
logFileName := propertyMap["LogFile"]
fmt.Println("Initial and Open log file ", logFileName)
var err error
outFile, err = os.OpenFile(logFileName, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666)
if err != nil {
panic(err.Error())
}
Logger = log.New(outFile, "", log.Ldate|log.Ltime|log.Llongfile)
}
}
// CloseLogFile function : close Logger invoke file.









