Golang 项目提供的 http 接口,返回的数据字段一般用小驼峰还是下划线命名法呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
inSpring
V2EX    Go 编程语言

Golang 项目提供的 http 接口,返回的数据字段一般用小驼峰还是下划线命名法呢?

  •  
  •  
    inSpring 230 天前 3163 次点击
    这是一个创建于 230 天前的主题,其中的信息可能已经有所发展或是发生改变。
    39 条回复    2025-04-02 15:06:07 +08:00
    helone
        1
    helone  
       230 天前
    个人倾向小驼峰
    securityCoding
        2
    securityCoding  
       230 天前
    驼峰
    sthwrong
        3
    sthwrong  
       230 天前
    完全看项目风格,和前端约定一致就行。
    waising
        4
    waising  
       230 天前
    下划线
    linauror
        5
    linauror  
       230 天前
    统一就行
    oliveira
        6
    oliveira  
       230 天前
    golang 和 js 的变量都是小驼峰风格,建议还是使用小驼峰。
    v1
        7
    v1  
       230 天前
    看约定啊,一般用下滑线,前端工具千奇百怪的,还大小写不敏感
    Rickkkkkkk
        8
    Rickkkkkkk  
       230 天前
    看现成的是怎么用的,抄一下

    如果是全新的项目,建议下划线
    zoharSoul
        9
    zoharSoul  
       230 天前
    小驼峰
    0x676e67
        10
    0x676e67  
       230 天前
    个人喜欢下划线,但还是要看语言风格写
    shakaraka
        11
    shakaraka  
    PRO
       230 天前
    下划线。免得有些人大小写不分
    Maboroshii
        12
    Maboroshii  
       230 天前 via Android
    常用的加 tag 的工具默认生成下划线命名的,所以一般返回 json 时用下划线。
    zone10
        13
    zone10  
       230 天前
    v 站和知乎都是下划线
    javalaw2010
        14
    javalaw2010  
       230 天前
    看个人/团队偏好。我喜欢下划线,比大小写清晰一点,之前调研过 github ,发现两种的都有,大概是历史遗留问题了。
    dcsuibian
        15
    dcsuibian  
       230 天前   2
    JSON 是 Javascript Object Notation
    而 Javascript 的规范是变量小驼峰,所以就小驼峰
    james122333
        16
    james122333  
       230 天前 via Android
    个人爱用下划线
    可惜语言特性不允许 不然很想写全小写+下划线
    比较清爽整洁
    hello333
        17
    hello333  
       230 天前
    在 http 中传递的参数一般使用下划线,无论发送请求还是响应。
    hello333
        18
    hello333  
       230 天前
    变量小驼峰、类大驼峰、HTTP 传递的参数采用下划线。
    即使在 js 中变量是小驼峰,但 ajax 参数采用下划线,以便区分。
    knva
        19
    knva  
       230 天前
    下划线好一点
    Ayanokouji
        20
    Ayanokouji  
       230 天前
    下划线,golang 的 tag 和 数据库默认的 tag 是下划线
    BeautifulSoap
        21
    BeautifulSoap  
       230 天前 via Android
    很多 api 返回值字段都是 snake_case ,所以我设计 api 全部以 snake_case 返回
    反正无论是驼峰还是 snake_case 也就是 DTO 层转换一下的事情,对付服务端内部处理没任何影响,纯粹看前段和 app 那边的喜好
    fffq
        22
    fffq  
       230 天前
    小驼峰,好看
    liudewa
        23
    liudewa  
       230 天前
    前端 js 规范 用的是小驼峰,不用下划线
    pkoukk
        24
    pkoukk  
       230 天前
    随便,统一就行
    Rat3
        25
    Rat3  
       230 天前
    字节 下划线
    daliusu
        26
    daliusu  
       230 天前
    发给前端的应该跟前端约定,跟你内部语言规范可以是两个,统一转一下就行,现在前端一般小驼峰多,只要统一我觉得都行,前端也可以做对应转换
    skywalkerfc
        27
    skywalkerfc  
       230 天前
    跟语言没太大关系吧,跟公司或者团队的规范有关
    gimp
        28
    gimp  
       230 天前
    下划线
    SethShi
        29
    SethShi  
       230 天前
    下划线, 就是为了防止前端直接用, 希望双方都转一层
    k9982874
        30
    k9982874  
       230 天前 via Android
    request 用驼峰,response 用下划线( doge
    jim9606
        31
    jim9606  
       230 天前 via Android
    golang 本身是小驼峰的。
    不过如果涉及跨语言的数据绑定(例如 pb 的代码生成),那还是下划线吧,这套在绝大部分语言下都没限制。
    IvanLi127
        32
    IvanLi127  
       230 天前
    下划线会比较稳妥。
    sardina
        33
    sardina  
       230 天前 via iPhone
    统一就行,别一会下划线,一会小驼峰
    crackidz
        34
    crackidz  
       230 天前
    下划线
    chobitssp
        35
    chobitssp  
       230 天前
    和数据库一致最省头发
    yb2313
        36
    yb2313  
       229 天前
    下划线更能快速识别啊
    coderzhangsan
        37
    coderzhangsan  
       229 天前
    返回字段命名法,如果没有强制约定,我一般参考数据库字段规范吧,数据库字段是下划线就返回下划线,主要是不想额外处理下字段命名,嫌麻烦。
    woniu7
        38
    woniu7  
       229 天前
    从 go 的角度,大驼峰最方便,如果你用 struct 和标准 json 库转,这样不用写 json tag 。
    从规范的角度,统一就行。
    layxy
        39
    layxy  
       216 天前
    目前开发还是小驼峰比较多
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5618 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 01:37 PVG 09:37 LAX 17:37 JFK 20:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86