创建map[string]struct{}并赋值



我使用github.com/samalba/dockerclient,并希望创建一个容器。所以,方法是CreateContainer,它需要一个ContainerConfig。

ContainerConfig是一个结构体。还有一个字段Volumes,类型是type map[string] struct{}

我知道我可以用make(map[string]struct{})创建这样一个映射

但是我如何给映射赋值呢?

cc := &dockerclient.ContainerConfig{
    // ...
    Volumes: map[string]struct{}{
        "foo": struct{}{},
        "bar": struct{}{},
        // ...
    },
}

Volumes: map[string]struct{}{ "dir1": struct{}{}, "dir2": struct{}{}, },

只将文件夹从localhost映射到docker容器。不映射任何内容

在Go 1.19中,可以通过删除冗余的struct{}来简化语法:

cc := &dockerclient.ContainerConfig{
    // ...
    Volumes: map[string]struct{}{
        "foo": {},
        "bar": {},
        // ...
    },
}

最新更新