用GO开发WEB一年, 今天怒了! GO不适合做WEB;

稍微复杂的情况, GOLANG就玩完.
比如用户提交一个多变的JSON格式的POST请求, 报头application/json;charset=utf-8,
你来解决吧, 如果这个JSON格式复杂, 如何解决?
用PHP, PYTHON ,NOTEJS 几乎零成本. 用GOLANG, 累死吧!
越来越发现, GOLANG 写WEB就是个大坑, 浪费时间, WEB完全不需要这么复杂!

共 19 个回复


xinyu391

golang 解析“多变的JSON”,跟WEB开发有毛关系,有万能的map解析

# 0

hmly

如果是一个web项目,个人觉得95%使用php,剩下5%用go,最佳组合。

# 1

snake117

问题在于,你设计的时候,为啥要让用户提交一个多变的JSON格式的POST请求呢。

# 2

jerray

表单设计有问题怪Go咯

# 3

coldwater

呵呵,java就没这个问题了?所以java也不适合做web?

# 4

wwek

同意2楼

# 5

zhao6810

楼主你要更多的去怀疑你的电脑椅,一定是它有问题。

# 6

bigbear

我猜楼主是在因为, 动态json序列化为go struct的问题苦恼吧? json与go的struct的序列化适用于固定接口协议. 如果是动态json协议可以用map或者第三方的包,https://github.com/buger/jsonparser,
这个可能是你想要的.

# 7

lllrrrccc

表示用go的第一个web项目就直接用map[string]interface{}定义了通用请求包结构和一系列函数,受到一帮PHP同学的热烈欢迎和一帮python同学的极度鄙视,哈哈

# 8

gogoup

表示也碰到过这个问题。开始的确有点恶心,后来发现用map就解决了。顺便说下C#不用第三方包也有这个问题的。

# 9

gl145698789

github.com/guyannanfei25/go-simplejson

你试试这个库 , 可以解决你复杂的json问题, POST 任意参数都可以hold住

# 11

didadi

强类型语言和弱类型语言就这区别,难道所有的强类型语言都不适合开发web?

# 12

goweekly

其实楼主没分析用Go的目的,是为了Go而Go,还是真的为解决遇到的问题。

Go更适合解决性能问题,而不是开发速度问题。

用合适的语言解决合适的问题。

# 13

alphayan

此贴终结

# 15

sun199204

自己笨怨别人

# 16

duanquanyong

我以前开发语言是php,切换到go,并没有遇到楼主一样都苦恼,相反非常开心,在以前用PHP的时候,我经常苦恼怎么严格限制post提交的数据格式和类型,为此写了很多类库和json格式验证器来做这个事情,对go来说,这太简单了

# 17

JackZR

笑死人 哈哈 处理json格式很简单啊大佬。什么数据不可以转换。输出的话设置输出头

func (db database) ServeHTTP(w http.ResponseWriter,req *http.Request) {
//里面随便放数据
   w.Header().Add("Content-Type", "application/json")
   var dataMap map[string]interface{};
   multipartForm,_ := json.Marshal(dataMap)
   w.Write(multipartForm)
}

其实你可以用用好一点的go web 框架 比如 go iris Go Web Iris中文网

# 18