本文整理匯總了Golang中utilz/stringset.StringSet.Add方法的典型用法代碼示例。如果您正苦於以下問題:Golang StringSet.Add方法的具體用法?Golang StringSet.Add怎麽用?Golang StringSet.Add使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類utilz/stringset.StringSet
的用法示例。
在下文中一共展示了StringSet.Add方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: ParallelCompile
func ParallelCompile(pkgs []*dag.Package) {
var localDeps *stringset.StringSet
var compiledDeps *stringset.StringSet
var y, z, count int
var parallel []*dag.Package
var oldPkgFound bool = false
var zeroFirst []*dag.Package
localDeps = stringset.New()
compiledDeps = stringset.New()
for y = 0; y < len(pkgs); y++ {
localDeps.Add(pkgs[y].Name)
pkgs[y].ResetIndegree()
}
zeroFirst = make([]*dag.Package, len(pkgs))
for y = 0; y < len(pkgs); y++ {
if pkgs[y].Indegree == 0 {
zeroFirst[count] = pkgs[y]
count++
}
}
for y = 0; y < len(pkgs); y++ {
if pkgs[y].Indegree > 0 {
zeroFirst[count] = pkgs[y]
count++
}
}
parallel = make([]*dag.Package, 0)
for y = 0; y < len(zeroFirst); {
if !zeroFirst[y].Ready(localDeps, compiledDeps) {
oldPkgFound = compileMultipe(parallel, oldPkgFound)
for z = 0; z < len(parallel); z++ {
compiledDeps.Add(parallel[z].Name)
}
parallel = make([]*dag.Package, 0)
} else {
parallel = append(parallel, zeroFirst[y])
y++
}
}
if len(parallel) > 0 {
_ = compileMultipe(parallel, oldPkgFound)
}
}
示例2: External
func (d Dag) External() {
var err os.Error
var argv []string
var tmp string
var set *stringset.StringSet
var i int = 0
set = stringset.New()
for _, v := range d {
for dep := range v.dependencies.Iter() {
if !d.localDependency(dep) {
set.Add(dep)
}
}
}
for u := range set.Iter() {
if !seemsExternal(u) {
set.Remove(u)
}
}
argv = make([]string, 0)
tmp, err = exec.LookPath("goinstall")
if err != nil {
log.Fatalf("[ERROR] %s\n", err)
}
argv = append(argv, tmp)
if global.GetBool("-verbose") {
argv = append(argv, "-v=true")
}
argv = append(argv, "-u=true")
argv = append(argv, "-clean=true")
i = len(argv)
argv = append(argv, "dummy")
for u := range set.Iter() {
argv[i] = u
if global.GetBool("-dryrun") {
fmt.Printf("%s || exit 1\n", strings.Join(argv, " "))
} else {
say.Printf("goinstall: %s\n", u)
handy.StdExecve(argv, true)
}
}
}