本文整理匯總了Golang中github.com/gholt/ring.Builder.Tiers方法的典型用法代碼示例。如果您正苦於以下問題:Golang Builder.Tiers方法的具體用法?Golang Builder.Tiers怎麽用?Golang Builder.Tiers使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/gholt/ring.Builder
的用法示例。
在下文中一共展示了Builder.Tiers方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: tierCmd
func tierCmd(r ring.Ring, b *ring.Builder, args []string) error {
var tiers [][]string
if r == nil {
tiers = b.Tiers()
} else {
tiers = r.Tiers()
}
report := [][]string{
[]string{"Tier", "Existing"},
[]string{"Level", "Values"},
}
reportOpts := brimtext.NewDefaultAlignOptions()
reportOpts.Alignments = []brimtext.Alignment{brimtext.Right, brimtext.Left}
fmted := false
OUT:
for _, values := range tiers {
for _, value := range values {
if strings.Contains(value, " ") {
fmted = true
break OUT
}
}
}
for level, values := range tiers {
sort.Strings(values)
var pvalue string
if fmted {
for _, value := range values {
pvalue += fmt.Sprintf(" %#v", value)
}
pvalue = strings.Trim(pvalue, " ")
} else {
pvalue = strings.Join(values, " ")
}
report = append(report, []string{
strconv.Itoa(level),
strings.Trim(pvalue, " "),
})
}
fmt.Print(brimtext.Align(report, reportOpts))
return nil
}