小编dap*_*lho的帖子

如果env var为空,如何指定默认值?

在Gio中,如果未设置环境变量,如何分配默认值?

在Python中mongo_password = os.getenv('MONGO_PASS', 'pass'),pass如果MONGO_PASS没有设置env var,我可以在哪里做默认值.

我尝试了一个基于os.Getenv空的if语句,但由于if语句中的变量赋值范围,这似乎不起作用.我正在检查多个env var,所以我不能在if语句中对这些信息采取行动.

environment-variables go

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

如何GZIP压缩Go中的http请求?

我的申请被拒绝.但是,当我蜷缩这是工作数据,所以它似乎还有的地方,我很困惑与如何去压缩该HTTP有效载荷.

    var buf bytes.Buffer
    g := gzip.NewWriter(&buf)
    g.Write([]byte("apples")
    req, err := http.NewRequest("POST", q.host, bytes.NewReader(buf.Bytes()))
    ...
    req.Header.Set("Content-Type", "text/plain")
    req.Header.Set("Content-Encoding", "gzip")
    resp, err := client.Do(req)
Run Code Online (Sandbox Code Playgroud)

有人看到我错了吗?

gzip go

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

`strings.split`可以忽略空标记吗?

你能否展示一种有效的方法来使用strings.split空标记不包含在返回的切片中?

具体来说,以下代码返回["a" "" "b" "c"]我想要返回的位置["a" "b" "c"]:

fmt.Printf("%q\n", strings.Split("a,,b,c", ","))
Run Code Online (Sandbox Code Playgroud)

https://play.golang.org/p/keaSjjSxgn

go

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

在集群节点上设置vm.max_map_count

我尝试在Google Container Engine上的群集节点上安装ElasticSearch(最新),但ElasticSearch需要变量:vm.max_map_countto> = 262144.

如果我ssh到每个节点,我手动运行:

sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)

一切顺利,但任何新节点都没有指定的配置.

所以我的问题是:

有没有办法在启动时在每个节点上加载系统配置?Deamon Set不是一个好的解决方案,因为在docker容器中,系统变量是只读的.

我正在使用带有gci节点映像的全新集群.

elasticsearch kubernetes google-kubernetes-engine

4
推荐指数
2
解决办法
4868
查看次数

根据密钥解组 JSON

我从网络接收 JSON 格式的数据,我需要根据密钥对其进行解组。
这是数据示例:

{
  "foo": {
    "11883920": {
      "fieldA": 123,
      "fieldB": [
        {
          "fieldC": "a",
          "fieldD": 1173653.22
        }
      ]
    }
  },
  "bar": {
     "123": {
       "fieldE": 123
     }
   }
  "anyOtherkey": {...}
}
Run Code Online (Sandbox Code Playgroud)

逻辑是,如果 key 是,foo则应将其解组为fooStruct,如果bar- 则应解组为barStruct。实现这个逻辑的最佳方法是什么?(我不想将其解组map[string]interface{},也许可以使用json.NewDecoder()函数,但我无法获得预期的结果)。

json go unmarshalling

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