登录
首页 >  Golang >  Go问答

GOLANG开发与生产环境的隔离

来源:stackoverflow

时间:2024-03-11 15:30:30 406浏览 收藏

本篇文章向大家介绍《GOLANG开发与生产环境的隔离》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

我是 go 编程新手。我来自nodejs。在nodejs中很容易分离开发模式和生产模式。只需使用此代码即可。

if(process.env.NODE_ENV==="production"){
   server.listen(prod.port);
} 
else{
   server.listen(dev.port);
}

我基本上希望这个约定也能在 go 中使用。那么我如何分离我的开发代码和生产代码呢?

想要这个功能的原因是

分离我的服务器在开发和生产中侦听的端口 环境

如果有任何技术可以分离端口,它也可以工作。

p.s:我使用 vscode 作为我的代码编辑器。以及 go-iris 作为 go 服务器 框架


解决方案


您可以使用os.getenv函数。

package main

import (
    "fmt"
    "os"
)

func getEnv() string{
    return os.Getenv("APP_ENV")
}

https://golang.org/src/os/env.go?s=2471:2501#L73

在 go 中可以通过多种方法实现此目的,但所有这些方法都不能在代码本身中处理此问题。

  1. 使用环境变量,例如 os.getenv
  2. 解析配置文件,例如一些.yaml文件
  3. 使用标志,例如 package flag

我认为最常见的解决方案是使用标志,但所有解决方案都完成相同的工作。通常,您在 main 方法中解析标志。

今天关于《GOLANG开发与生产环境的隔离》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>