V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  gogogo1203  ›  全部回复第 6 页 / 共 31 页
回复总数  612
1 ... 2  3  4  5  6  7  8  9  10  11 ... 31  
2023-09-20 09:34:09 +08:00
回复了 BeautifulSoap 创建的主题 Go 编程语言 踩到 Go 的 json 解析坑了,如何才能严格解析 json?
@tianxin8431 哈哈哈。 “只要我不同意的观点”===“学院派”。 业务上根本不难受,写一次就够。非要“公牛挤牛奶”,自己给自己找难受罢了。
2023-09-20 09:30:00 +08:00
回复了 BeautifulSoap 创建的主题 Go 编程语言 踩到 Go 的 json 解析坑了,如何才能严格解析 json?
@leoleoasd
json required tag 可以校验 not present
2023-09-20 01:38:30 +08:00
回复了 zhuoyue100 创建的主题 Go 编程语言 怎么提升 golang 开发水平
@japeth 你看一下今天 go 区为了要给 unmarshl 吵了这么久, 就知道这个课程的价值。 不买也直接按照里面的 pattern 写 curd 。 各种舒服。
2023-09-20 01:07:23 +08:00
回复了 BeautifulSoap 创建的主题 Go 编程语言 踩到 Go 的 json 解析坑了,如何才能严格解析 json?
@leoleoasd 这有什么区别吗? struct 创建的时候就是默认零值,unmarshal 只是选择性宽容。你后续按自己业务需求去校验。一群人在喷一些什么东西。又不是所有场景都需要判断。
2023-09-20 01:01:52 +08:00
回复了 BeautifulSoap 创建的主题 Go 编程语言 踩到 Go 的 json 解析坑了,如何才能严格解析 json?
@BeautifulSoap 2023 年了,喜欢就用,不喜欢就换个语言,没必要抓个标准库输出。多一次运算累计起来的数量都是以亿计算的,我宁可相信 go team 是考虑过这些事的。
1 。老毕要是事先同意的话,没有必要搞得那么复杂,提前说话就行了。
2. 老毕要是被先斩后奏,不情不愿地被迫接受了这个“任务”。 第一回可能,第二回没有可能
2023-09-19 23:43:26 +08:00
回复了 BeautifulSoap 创建的主题 Go 编程语言 踩到 Go 的 json 解析坑了,如何才能严格解析 json?
是我迷糊了吗? 零值不是 创建 struct 的时候就有了吗??“The JSON null value unmarshals into an interface, map, pointer, or slice by setting that Go value to nil. Because null is often used in JSON to mean “not present,” unmarshaling a JSON null into any other Go type has no effect on the value and produces no error.” 自己读一读 doc 呗,unmarshaler 只是没有去改原先的零值而已。unmarshaler 要快,而不是提前做很多 validation.这些后续你可以慢慢搞。
2023-09-19 22:29:17 +08:00
回复了 BeautifulSoap 创建的主题 Go 编程语言 踩到 Go 的 json 解析坑了,如何才能严格解析 json?
@BeautifulSoap

```
// Create adds a Comment to the database. It returns the created Comment with
// fields like ID and DateCreated populated.
func (c Core) Create(ctx context.Context, nc NewComment, now time.Time, usrId string, tutId string) (Comment, error) {
if err := validate.Check(nc); err != nil {
return Comment{}, fmt.Errorf("validating data: %w", err)
}
parentId := &dbschema.NullString{}
if nc.ParentId == "" {
parentId.Valid = false
} else {
parentId.Valid = true
parentId.String = nc.ParentId
}
dbCm := db.Comment{
ID: validate.GenerateID(),
CommenterId: usrId,
TutorialId: tutId,
ParentId: parentId,
Body: nc.Body,
DateCreated: now,
DateUpdated: now,
}
if err := c.store.Create(ctx, dbCm); err != nil {
return Comment{}, fmt.Errorf("create: %w", err)
}

return toComment(dbCm), nil
}

```

web 到业务逻辑 然后再到 db 层,json tag 校验是必备的。sql.NullString sql.NullInt 都不是简单的 struct ,理论上不存在 go 后端不查 null 的,因为必须确认. 你们是不是用了什么 orm 一把梭了.
2023-09-19 22:20:47 +08:00
回复了 BeautifulSoap 创建的主题 Go 编程语言 踩到 Go 的 json 解析坑了,如何才能严格解析 json?
@delacey 我看过比较好的方式是 前端来的 json 用一个 struct, 校验完转成 db 专用的另一个 struct, db 查询返回的又用另外一个新的 struct. 前端更新某个 field , 又用一个专属的 struct. 用 go 写 curd 后台,做得最多的就是各个 struct 之间转来转去。
2023-09-19 21:51:38 +08:00
回复了 BeautifulSoap 创建的主题 Go 编程语言 踩到 Go 的 json 解析坑了,如何才能严格解析 json?
// Decode reads the body of an HTTP request looking for a JSON document. The
// body is decoded into the provided value.
//
// If the provided value is a struct then it is checked for validation tags.
func Decode(r *http.Request, val interface{}) error {
decoder := json.NewDecoder(r.Body)
decoder.DisallowUnknownFields()
if err := decoder.Decode(val); err != nil {
return err
}

return nil
}



type NewComment struct {
Body string `json:"body" validate:"required"`
ParentId string `json:"parentId"`
}




....
var nc comment.NewComment
if err := web.Decode(r, &nc); err != nil {
return fmt.Errorf("unable to decode payload: %w", err)
}

....

很久没有写 go 了,go 不至于连个 json 不能处理吧
2023-09-19 18:03:28 +08:00
回复了 gogogo1203 创建的主题 程序员 [求推荐] chatgpt wrapper
@strawberrydafu 这个强, 这么多 stars 是真少见
2023-09-19 16:28:09 +08:00
回复了 Deking 创建的主题 问与答 为什么感觉 xmind 现在用的人变少了,还是我的错觉
我用了 3 年的 xmind ,已经一年多没打开了。
1. 思维导图节点一多,整个导图就失去作用了。节点太少也是没有作用. 思维导图就在两个状态里来回颠簸。
2. 单个文件的形式建立不起来个人知识库, 也不好搜索。
3. 大部分的笔记和信息都是搜集的时候爽,但是绝大部分都不会再次被打开。
2023-09-18 15:38:36 +08:00
回复了 NueXini 创建的主题 程序员 Unity 近期颁布的收费政策,是否会影响后续 Unity 的相关就业
苹果和 Unity 的 Vision Pro 合作是不是让 unity 飘了,想着提前占位,开创 per install 先河。
2023-09-16 23:07:19 +08:00
回复了 xingfa 创建的主题 Python 如何实现一个网页气泡🫧效果?
https://react-grid-layout.github.io/react-grid-layout/examples/0-showcase.html 用 grids 自己写一个比例应该也可以,就是字体要自适应
2023-09-15 01:00:50 +08:00
回复了 willin 创建的主题 分享创造 准备把我的 npm 包 v0 捐赠给 Vercel。
@willin 白倦了 怎么也得要几个 private beta 的测试名额吧
2023-09-15 00:57:44 +08:00
回复了 willin 创建的主题 分享创造 准备把我的 npm 包 v0 捐赠给 Vercel。
这是 AI 自动生成 UI 代码,,,,,,,,,,,,,
2023-09-15 00:22:02 +08:00
回复了 willin 创建的主题 分享创造 准备把我的 npm 包 v0 捐赠给 Vercel。
https://v0.dev/ 原来是要给自己家的所有开源项目做个导航. 估计是先买了 v0 域名 再保险一下 npm 包。
2023-09-14 23:04:00 +08:00
回复了 zhuoyue100 创建的主题 Go 编程语言 怎么提升 golang 开发水平
William Kennedy (Bill) 是 Go 语言实战的作者之一.这本书应该是 国内大家接触到的第一本 go 教程。
2023-09-14 23:01:01 +08:00
回复了 zhuoyue100 创建的主题 Go 编程语言 怎么提升 golang 开发水平
https://github.com/ardanlabs/service 最强的 go 教程的 repo ,课程很贵,repo 免费。middleware, error 处理方式,整个 app 的架构,数据库的 versioning 到 docker 部署。虽然我有一段时间没有写 go 后台了, 但是这个 repo 是真的很惊艳。主要它易懂,所有 engineering 的决定都让我觉得太合理了。
2023-09-14 15:41:38 +08:00
回复了 besscroft 创建的主题 分享创造 开源项目做个小推广,嗯学英语~
@huihuiHK 所有的技能都需要坚持, 这不是工具能解决的范畴
1 ... 2  3  4  5  6  7  8  9  10  11 ... 31  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2506 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 02:33 · PVG 10:33 · LAX 18:33 · JFK 21:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.