의 기능을 조롱합니다. 이 패키지의 각 파일은 서비스에 해당합니다. 예를 들어 제품 파일은 제품 서비스/db, 주문 서비스 주문 등과 관련된 기능을 포함합니다. 각 함수는 매개 변수로 기본 db에 대한 db 리소스를 가져오고 SQL, 예. productid, 이름, 주문 ID.어떻게 기본적으로 게터 기능의 많은 구성 간단한 패키지를 작성했습니다 golang
// product.go
package lib
type Product struct {
ID int
Name string
Price float
}
func GetProductById(DB *sql.DB, ID int) (p Product, err error) {
q := "SELECT * FROM product WHERE id = " + ID
...
}
func GetProductByName(DB *sql.DB, name string) (p Product, err error) {
...
}
// order.go
package lib
type Order struct {
ID int
Date string
Items []items
}
func GetOrderById(DB *sql.DB, ID int) (o Order, err error) {
...
}
문제는 내 기본 패키지에서 이러한 기능을 조롱 할 수 아니에요입니다 : 함수의 각 구조체 (. 예를 들어, 주문, 제품) 또는 오류를 반환합니다. 내가 정말로하고 싶은 것은 패키지를 다시 작성하는 것입니다. 그래서 어떻게 든 함수로 전달할 수 있습니다. 하지만 어떻게해야할지 모르겠습니다. 특히 함수가 다른 입력 매개 변수를 사용하고 다른 struct를 반환하는 경우가 아닙니다. 이것을 할 수있는 방법이 있습니까? 당신이 구체적인 유형에 대한 메소드 선언과 같은 함수 선언을 조롱 할 수없는 이동에
는