매개 변수가 존재하는 경우 쿼리에서 다른 Query.Filter()
메서드를 선택적으로 호출 할 수 있습니다 (선택 사항). 파생 된 다른 쿼리 일 수 있으므로 반환 값을 저장해야합니다.
그 이유는 모든 쿼리 작성기/수정 자 메서드가 여러 작업을 연결하는 데 사용할 수있는 파생 쿼리를 반환하기 때문입니다. 하나의 단계로 모든 작업을 수행 할 필요는 없지만 중간 결과 쿼리를 저장하고 거기에서 "작업"을 계속 수행 할 수 있습니다 (예 : 새 필터 추가). 항상 반환 값을 저장하는 것을 기억하고 마지막 메서드에서 반환 된 Query
을 사용해야합니다.
솔루션 (후보) :
q := datastore.NewQuery("book").Filter("author =", "DB")
if title != nil {
q = q.Filter("title =", title)
}
q = q.Order("author")
참고 :
당신이 그것을 언급하지 않았다,하지만 난 title
가 string
가정. string
유형의 변수는 nil
값을 가질 수 없습니다.
q := datastore.NewQuery("book").Filter("author =", "DB")
if title != "" {
q = q.Filter("title =", title)
}
q = q.Order("author")
이 뛰어난이 내가 찾던 정확히 무엇을하십시오
string
의 값이 0 때문에/테스트를 비교하는 것을 사용하는 빈 문자열""
입니다. –