小编Kav*_*avu的帖子

如何排序不是简单的哈希(散列哈希)

我有这样的哈希

{ 55 => {:value=>61, :rating=>-147},
  89 => {:value=>72, :rating=>-175},
  78 => {:value=>64, :rating=>-155},
  84 => {:value=>90, :rating=>-220},
  95 => {:value=>39, :rating=>-92},
  46 => {:value=>97, :rating=>-237},
  52 => {:value=>73, :rating=>-177},
  64 => {:value=>69, :rating=>-167},
  86 => {:value=>68, :rating=>-165},
  53 => {:value=>20, :rating=>-45}
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能对它进行排序:评分?或者我应该使用一些不同的结构?

ruby sorting hash

5
推荐指数
2
解决办法
4941
查看次数

debuild notify make [1]:go:找不到命令

我需要为我的golang程序构建一个deb.

当我运行debuild -uc -us时告诉:

fakeroot debian/rules clean 
dh clean  
dh_testdir  
dh_auto_clean  
make[1]: Entering directory `/home/vagrant/zbus'  
go clean ./zbus-cli/  
make[1]: go: Command not found  
make[1]: *** [clean] Error 127  
make[1]: Leaving directory `/home/vagrant/zbus'  
dh_auto_clean: make -j1 clean returned exit code 2  
Run Code Online (Sandbox Code Playgroud)

我的go编译器安装正确,为什么它仍然没有找到命令?

debian go

2
推荐指数
1
解决办法
5428
查看次数

Go方法集 - 指针类型的调用方法*T与接收方T

规范说:

任何其他类型T的方法集由接收器类型T的所有方法组成.相应指针类型*T的方法集是具有接收器*T或T的所有方法的集合(即,它还包含方法集T).

我理解为:T有自己的方法集,而*T有自己的方法集加上T的方法集,因为它可以取消引用接收器*T到T并调用方法.因此,我们可以使用变量类型为T的接收器*T调用某些方法.

所以我决定验证我的逻辑:

package main

import (
  "fmt"
  "reflect"
)

type User struct{}

func (self *User) SayWat() {
  fmt.Println(self)
  fmt.Println(reflect.TypeOf(self))
  fmt.Println("WAT\n")
}

func main() {
  var user User = User{}

  fmt.Println(reflect.TypeOf(user), "\n")

  user.SayWat()
}
Run Code Online (Sandbox Code Playgroud)

http://play.golang.org/p/xMKuLzUbIf

我有点困惑.看起来我可以在T上调用"of*T"方法吗?我有一个更广泛的例子http://play.golang.org/p/RROPMj534A,这也让我感到困惑.是否有一些相反的类型推断?

我错过了什么,或者我的逻辑是不正确的?

谢谢!

types go

2
推荐指数
1
解决办法
358
查看次数

Golang - 嵌套结构中的切片

我有一个深层嵌套的结构,它包含两个切片,如下所示:

package main

import "fmt"

type bar struct {
    v1 []int
    v2 []int
}

type foo struct{ bar bar }
type tar struct{ foo foo }

func main() {
    f := &tar{foo: foo{bar: bar{v1: [2], v2: [3]}}}
    fmt.Printf("Hello, playground %s", f)
}
Run Code Online (Sandbox Code Playgroud)

如何初始化两个切片?或者我如何使这个代码工作?

以下是Golang Play:http://play.golang.org/p/zLutROI4YH .

struct go slice

2
推荐指数
1
解决办法
2038
查看次数

为什么这个程序不能使用goroutine打印任何东西?

我最近通过谷歌调查Golang,我遇到了以下问题.然后程序不打印任何东西.但如果我删除"go"符号,它将打印"goroutine"和"going".

package main

import "fmt"

func f(msg string) {
    fmt.Println(msg)
    return
}

func main() {
    go f("goroutine")

    go func(msg string) {
        fmt.Println(msg)
        return
    }("going")

    return
}
Run Code Online (Sandbox Code Playgroud)

concurrency go

-3
推荐指数
2
解决办法
485
查看次数

标签 统计

go ×4

concurrency ×1

debian ×1

hash ×1

ruby ×1

slice ×1

sorting ×1

struct ×1

types ×1