小编use*_*368的帖子

指向地图的指针

将一些地图定义为:

var valueToSomeType = map[uint8]someType{...}
var nameToSomeType = map[string]someType{...}
Run Code Online (Sandbox Code Playgroud)

我想要一个指向地图地址的变量(不要复制所有变量).我尝试使用:

valueTo := &valueToSomeType
nameTo := &nameToSomeType
Run Code Online (Sandbox Code Playgroud)

但在使用时valueTo[number],它显示
内部编译器错误:var没有类型,init:new

怎么弄?

编辑

另一个问题显示错误.

dictionary pointers go

45
推荐指数
3
解决办法
3万
查看次数

通过值或指针访问另一个结构

当您通过值或指针访问另一个结构时有什么区别?
什么时候应该使用它们?

type foo_ struct {
    st uint8
    nd uint8
}

type bar struct {
    rd  uint8
    foo foo_
}

type barP struct {
    rd  uint8
    foo *foo_
}
Run Code Online (Sandbox Code Playgroud)

struct pointers go

6
推荐指数
1
解决办法
869
查看次数

提出例外

我想提出一个异常,因为它是用Python或Java制作的 - 用错误信息完成程序 - .

可以将错误消息返回给父函数:

func readFile(filename string) (content string, err os.Error) {
    content, err := ioutil.ReadFile(filename)
    if err != nil {
        return "", os.ErrorString("read " + filename + ": " + err)
    }
    return string(content), nil
}
Run Code Online (Sandbox Code Playgroud)

但是我想要在发现错误时完成它.下一个会是正确的吗?

func readFile(filename string) (content string) {
    content, err := ioutil.ReadFile(filename)

    defer func() {
        if err != nil {
            panic(err)
        }
    }()

    return string(content)
}
Run Code Online (Sandbox Code Playgroud)

exception go

4
推荐指数
1
解决办法
4205
查看次数

Go - 关于加密/兰特的例子

可以举一个关于使用crypto/rand[1]的小例子吗?

该函数Read有一个字节数组作为参数。为什么?如果它访问/dev/urandom以获取随机数据。

func Read(b []byte) (n int, err os.Error)
Run Code Online (Sandbox Code Playgroud)

[1] http://golang.org/pkg/crypto/rand/

random cryptography go

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

标签 统计

go ×4

pointers ×2

cryptography ×1

dictionary ×1

exception ×1

random ×1

struct ×1