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 · 1 天前 · 1940 次点击
    38 条回复    2025-03-20 12:57:40 +08:00
    helone
        1
    helone  
       1 天前
    个人倾向小驼峰
    securityCoding
        2
    securityCoding  
       1 天前
    驼峰
    sthwrong
        3
    sthwrong  
       1 天前
    完全看项目风格,和前端约定一致就行。
    waising
        4
    waising  
       1 天前
    下划线
    linauror
        5
    linauror  
       1 天前
    统一就行
    oliveira
        6
    oliveira  
       1 天前
    golang 和 js 的变量都是小驼峰风格,建议还是使用小驼峰。
    kk2syc
        7
    kk2syc  
       1 天前
    看约定啊,一般用下滑线,前端工具千奇百怪的,还大小写不敏感
    Rickkkkkkk
        8
    Rickkkkkkk  
       1 天前
    看现成的是怎么用的,抄一下

    如果是全新的项目,建议下划线
    zoharSoul
        9
    zoharSoul  
       1 天前
    小驼峰
    0x676e67
        10
    0x676e67  
       1 天前
    个人喜欢下划线,但还是要看语言风格写
    wunonglin
        11
    wunonglin  
       1 天前
    下划线。免得有些人大小写不分
    Maboroshii
        12
    Maboroshii  
       1 天前 via Android
    常用的加 tag 的工具默认生成下划线命名的,所以一般返回 json 时用下划线。
    zone10
        13
    zone10  
       1 天前
    v 站和知乎都是下划线
    javalaw2010
        14
    javalaw2010  
       23 小时 59 分钟前
    看个人/团队偏好。我喜欢下划线,比大小写清晰一点,之前调研过 github ,发现两种的都有,大概是历史遗留问题了。
    dcsuibian
        15
    dcsuibian  
       23 小时 59 分钟前   ❤️ 2
    JSON 是 JavaScript Object Notation
    而 JavaScript 的规范是变量小驼峰,所以就小驼峰
    james122333
        16
    james122333  
       23 小时 42 分钟前 via Android
    个人爱用下划线
    可惜语言特性不允许 不然很想写全小写+下划线
    比较清爽整洁
    hello333
        17
    hello333  
       23 小时 28 分钟前
    在 http 中传递的参数一般使用下划线,无论发送请求还是响应。
    hello333
        18
    hello333  
       23 小时 27 分钟前
    变量小驼峰、类大驼峰、HTTP 传递的参数采用下划线。
    即使在 js 中变量是小驼峰,但 ajax 参数采用下划线,以便区分。
    knva
        19
    knva  
       23 小时 25 分钟前
    下划线好一点
    Ayanokouji
        20
    Ayanokouji  
       23 小时 24 分钟前
    下划线,golang 的 tag 和 数据库默认的 tag 是下划线
    BeautifulSoap
        21
    BeautifulSoap  
       23 小时 11 分钟前 via Android
    很多 api 返回值字段都是 snake_case ,所以我设计 api 全部以 snake_case 返回
    反正无论是驼峰还是 snake_case 也就是 DTO 层转换一下的事情,对付服务端内部处理没任何影响,纯粹看前段和 app 那边的喜好
    fffq
        22
    fffq  
       22 小时 26 分钟前
    小驼峰,好看
    liudewa
        23
    liudewa  
       22 小时 20 分钟前
    前端 js 规范 用的是小驼峰,不用下划线
    pkoukk
        24
    pkoukk  
       21 小时 48 分钟前
    随便,统一就行
    Meld
        25
    Meld  
       21 小时 45 分钟前
    字节 下划线
    daliusu
        26
    daliusu  
       21 小时 40 分钟前
    发给前端的应该跟前端约定,跟你内部语言规范可以是两个,统一转一下就行,现在前端一般小驼峰多,只要统一我觉得都行,前端也可以做对应转换
    skywalkerfc
        27
    skywalkerfc  
       21 小时 17 分钟前
    跟语言没太大关系吧,跟公司或者团队的规范有关
    gimp
        28
    gimp  
       21 小时 12 分钟前
    下划线
    seth19960929
        29
    seth19960929  
       20 小时 3 分钟前
    下划线, 就是为了防止前端直接用, 希望双方都转一层
    k9982874
        30
    k9982874  
       19 小时 43 分钟前 via Android
    request 用驼峰,response 用下划线( doge
    jim9606
        31
    jim9606  
       17 小时 42 分钟前 via Android
    golang 本身是小驼峰的。
    不过如果涉及跨语言的数据绑定(例如 pb 的代码生成),那还是下划线吧,这套在绝大部分语言下都没限制。
    IvanLi127
        32
    IvanLi127  
       17 小时 31 分钟前
    下划线会比较稳妥。
    sardina
        33
    sardina  
       17 小时 6 分钟前 via iPhone
    统一就行,别一会下划线,一会小驼峰😒
    crackidz
        34
    crackidz  
       7 小时 56 分钟前
    下划线
    chobitssp
        35
    chobitssp  
       7 小时 0 分钟前
    和数据库一致最省头发
    yb2313
        36
    yb2313  
       6 小时 33 分钟前
    下划线更能快速识别啊
    coderzhangsan
        37
    coderzhangsan  
       4 小时 13 分钟前
    返回字段命名法,如果没有强制约定,我一般参考数据库字段规范吧,数据库字段是下划线就返回下划线,主要是不想额外处理下字段命名,嫌麻烦。
    woniu7
        38
    woniu7  
       3 小时 13 分钟前
    从 go 的角度,大驼峰最方便,如果你用 struct 和标准 json 库转,这样不用写 json tag 。
    从规范的角度,统一就行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5128 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 08:11 · PVG 16:11 · LAX 01:11 · JFK 04:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.