當前位置: 首頁>>代碼示例>>Golang>>正文


Golang expression.Like類代碼示例

本文整理匯總了Golang中github.com/couchbase/query/expression.Like的典型用法代碼示例。如果您正苦於以下問題:Golang Like類的具體用法?Golang Like怎麽用?Golang Like使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Like類的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: VisitLike

func (this *sargFactory) VisitLike(expr *expression.Like) (interface{}, error) {
	return newSargLike(expr, expr.Regexp()), nil
}
開發者ID:pkdevboxy,項目名稱:query,代碼行數:3,代碼來源:sarg_factory.go

示例2: VisitLike

func (this *DNF) VisitLike(expr *expression.Like) (interface{}, error) {
	err := expr.MapChildren(this)
	if err != nil {
		return nil, err
	}

	re := expr.Regexp()
	if re == nil {
		return expr, nil
	}

	prefix, complete := re.LiteralPrefix()
	if complete {
		eq := expression.NewEq(expr.First(), expression.NewConstant(prefix))
		return eq, nil
	}

	if prefix == "" {
		return expr, nil
	}

	var and expression.Expression
	le := expression.NewLE(expression.NewConstant(prefix), expr.First())
	last := len(prefix) - 1
	if prefix[last] < math.MaxUint8 {
		bytes := []byte(prefix)
		bytes[last]++
		and = expression.NewAnd(le, expression.NewLT(
			expr.First(),
			expression.NewConstant(string(bytes))))
	} else {
		and = expression.NewAnd(le, expression.NewLT(
			expr.First(),
			expression.EMPTY_ARRAY_EXPR))
	}

	return and, nil
}
開發者ID:pkdevboxy,項目名稱:query,代碼行數:38,代碼來源:dnf.go


注:本文中的github.com/couchbase/query/expression.Like類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。