gpt4 book ai didi

go - 我想知道这段代码中的模式和逻辑

转载 作者:数据小太阳 更新时间:2023-10-29 03:43:58 29 4
gpt4 key购买 nike

<分区>

我是 Go 的新手,所以我需要了解模式并理解这段代码中的逻辑

首先:在汽车模型文件夹中有一个 .go 文件名 car.go 但它的结构是

在 Controller 文件夹中有一个cars.go文件如下

type Car struct {
Id bson.ObjectId `bson:"_id"`
Model string `bson:"model" form:"" json:"model" binding:"required"`
Brand string `bson:"brand" form:"brand" json:"brand" binding:"required"`
CreatedAt bson.MongoTimestamp
}

type CarController struct {
carService *services.CarService
}

func (controller CarController) New() *CarController {
controller.carService = services.CarService{}.New()

return &controller
}

func (controller CarController) GetIndex(c *gin.Context) {
carList := controller.carService.Find(&bson.M{})
c.JSON(http.StatusOK, &carList)
//fmt.Println(carList) }
}

在服务文件夹中有一个carService.go文件如下

type CarService struct {
dbName string
uri string
collectionName string
}

func (r CarService) New() *CarService {
configManger := viperconfing.Config{}
r.uri = configManger.GetConfig("dbUri")
r.dbName = configManger.GetConfig("dbName")
r.collectionName = "car"
return &r
}

func (r CarService) Find(query *bson.M) (cars []models.Car) {
session, _ := mgo.Dial(r.uri)
defer session.Close()
session.SetSafe(&mgo.Safe{})
collection := session.DB(r.dbName).C(r.collectionName)

collection.Find(query).All(&cars)

fmt.Println(cars)
return cars
}

我想知道这段代码中使用的模式,以了解完整的逻辑以及 * 是什么意思??

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com