本文整理汇总了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)
}
}
}