最近初学go有点疑惑。
1、为什么go的框架都没有统一入口文件
看了go的流行框架比如,beego ,gin 等等发现好像都没有index.go这样的概念。一般在实际项目中是需要统一处理一些逻辑的,比如session、拦截器、路由等等,好像go的框架都没有
2、提供api服务时生产环境需要nginx吗
go提供服务端接口的时候生产环境应该是怎样的,是直接用http模块服务还是需要比如nginx这样做代理呢?
main函数只在编译好的二进制程序启动时候运行一次 不退出.通过无限循环来监听tcp发送到golang程序端口的网络数据 golang httpmux(路由)根据相应的请求 执行相应的httphandle 返回相应的response。你可以看Github上那个golang web 开发教程 手机上不好贴出地址
#9
更多评论
1 理论上来讲,session,拦截器,路由都是有的,这些东西你可以看文档,文档里面应该是都有写了要怎么使用的。 golang 的框架应该是不需要统一的入口的,因为golang的程序不是依赖框架来启动的,而是依赖你自己写的 main 函数来启动作为程序的入口(这点可以参考 C 语言)。
2 简单来说 golang 做服务的时候可以不需要nginx,直接用 http 的模块就行。 也就是说直接编译一个二进制文件放到服务器上就可以提供服务了。如果你想要 https ,golang 也有 tls 的模块可以使用。
#2