V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Flourite
V2EX  ›  Go 编程语言

go 语言用起来好操蛋

  •  1
     
  •   Flourite · 2023-11-27 10:33:21 +08:00 · 18130 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 go 写代码刷题觉得太操蛋了,相比 c++/java ,语法非常繁琐,还有操蛋的指针、context 。也许优势就是实现了 M:N 线程系统吧

    123 条回复    2023-12-28 05:00:34 +08:00
    1  2  
    thinkm
        1
    thinkm  
       2023-11-27 10:37:35 +08:00   ❤️ 4
    我 Go 伟大,无需多言
    lifei6671
        2
    lifei6671  
       2023-11-27 10:38:13 +08:00   ❤️ 45
    如果 go 的语法还繁琐,不应该多找找自己的问题吗?😂
    NessajCN
        3
    NessajCN  
       2023-11-27 10:39:59 +08:00   ❤️ 12
    你是我接触编程那么多年来第一个说 go 比 c++/java 语法繁琐的人
    有点像突然遇到个人跟我说我比吴彦祖帅比马斯克有钱
    你说个 go 比 python 繁琐我都认了
    opengps
        4
    opengps  
       2023-11-27 10:40:35 +08:00
    繁琐可能是用错了场景,据我所知,go 是对同时横跨底层和上层支持比较好的语言结构
    NX2023
        5
    NX2023  
       2023-11-27 10:40:40 +08:00
    不敢苟同
    redial39
        6
    redial39  
       2023-11-27 10:41:11 +08:00
    是不是用了什么奇怪的框架 = =
    NX2023
        7
    NX2023  
       2023-11-27 10:42:31 +08:00
    @NX2023 初学 Go 的时候最让我不满的是没有像 C++ STL 的封装库,写个优先队列还要去实现 heap 的四个接口,效率还慢(
    happyxhw101
        8
    happyxhw101  
       2023-11-27 10:43:08 +08:00
    如果不想用,那就不要用,如果不想别人用,那就叫别人也不用
    wkong
        9
    wkong  
       2023-11-27 10:43:48 +08:00
    我表示反对。
    lyxxxh2
        10
    lyxxxh2  
       2023-11-27 10:44:03 +08:00
    写工具的时候操蛋 还得定义一堆结构体。
    优:
    对于项目提示 理解有用

    缺:
    小工具之类 谁费那个时间去写。
    shyangs
        11
    shyangs  
       2023-11-27 10:45:21 +08:00   ❤️ 4
    繁瑣應該是指「因為 golang 語法簡單,需要大量複製貼上,所以有繁瑣感」.(瑣碎感)
    musi
        12
    musi  
       2023-11-27 10:46:41 +08:00
    你说 go 比 js 繁琐这我认,go 比 C++繁琐?
    error451
        13
    error451  
       2023-11-27 10:46:46 +08:00   ❤️ 3
    不是说不能喷 GO ,而是你喷要喷到点子上。

    你说 go 语法繁琐,很显然是没喷到点子上
    Masoud2023
        14
    Masoud2023  
       2023-11-27 10:47:03 +08:00
    你之前 c++做什么项目的?
    Arrowing
        15
    Arrowing  
       2023-11-27 10:53:35 +08:00
    感觉 go 的 error 处理确实很蛋疼
    21231sv
        16
    21231sv  
       2023-11-27 10:54:06 +08:00
    你只是习惯了自己的语言吧

    我以前写 java 。学 go 让我打开了新思路
    28Sv0ngQfIE7Yloe
        17
    28Sv0ngQfIE7Yloe  
       2023-11-27 10:54:33 +08:00
    封装的少 导致你觉得语法简单但是写的多?
    itskingname
        18
    itskingname  
       2023-11-27 11:02:06 +08:00   ❤️ 2
    第一次看到有人觉得 Go 的语法比 Java 繁琐的。那只能说被 Java 洗脑了。
    sadfQED2
        19
    sadfQED2  
       2023-11-27 11:03:31 +08:00 via Android
    竟然有人喷 go 语法繁琐???
    Flourite
        20
    Flourite  
    OP
       2023-11-27 11:03:50 +08:00
    ???
    1. 初始化数组得一个个单元初始化
    2. 常用的基础组建如 heap 之类的居然还要自己造
    3. 修改指针还得用双指针
    4. 数不尽的 error 处理,ctx 满天飞
    yaott2020
        21
    yaott2020  
       2023-11-27 11:05:40 +08:00 via Android   ❤️ 1
    go 被人喷残疾语法,居然 op 觉得 go 繁琐?
    Bazingal
        22
    Bazingal  
       2023-11-27 11:07:47 +08:00   ❤️ 15
    @yaott2020 冲突吗?语法残疾所以不得不写很多代码来实现其它语言一个语法糖就能实现的功能,这不就是繁琐?
    Mark24
        23
    Mark24  
       2023-11-27 11:08:21 +08:00
    大道至 nil
    yaott2020
        24
    yaott2020  
       2023-11-27 11:09:08 +08:00 via Android
    @Bazingal 你要从这个角度理解也行
    icy37785
        25
    icy37785  
       2023-11-27 11:10:39 +08:00 via iPhone   ❤️ 1
    喷 go 都语法“简单到简陋的程度”的天天见,喷 go 的语法繁琐的确实是第一次见。特别是跟 c++/java 比说 go 的语法繁琐,感觉以后估计也见不着了。
    bruce0
        26
    bruce0  
       2023-11-27 11:10:51 +08:00
    go 可以号称 C+Python 的结合, C 的性能(虽然和 C 有点差距), Python 的易用

    你可以喷 go 简陋, 语法丑, 这没得洗, less is more. 但是说 go 语法繁琐, 还是相比 C++ Java, 这 ......
    reeco
        27
    reeco  
       2023-11-27 11:11:21 +08:00   ❤️ 1
    不是繁琐,是 go 比较简陋
    XCFOX
        28
    XCFOX  
       2023-11-27 11:13:04 +08:00
    正常语言调用函数一般只需要 1 行,而 go 语言需要 4 行,也算是一种繁琐吧。
    jjx
        29
    jjx  
       2023-11-27 11:15:59 +08:00
    不喜欢就不用

    上司比你用就跳巢

    你还是有许多选择的
    codersdp1
        30
    codersdp1  
       2023-11-27 11:20:10 +08:00
    换就行了😁
    masterclock
        31
    masterclock  
       2023-11-27 11:20:23 +08:00   ❤️ 1
    OP 所的 “繁琐” 应该是 go 语法太简陋,导致必须用繁琐的方式去实现某个功能吧
    leonshaw
        32
    leonshaw  
       2023-11-27 11:27:36 +08:00   ❤️ 1
    是 C++ 没有指针还是 Java 没有 Context ?
    wakaka
        33
    wakaka  
       2023-11-27 11:30:08 +08:00
    arena 的失败意味着 golang 的前途已然暗淡。
    tbwisk
        34
    tbwisk  
       2023-11-27 11:30:39 +08:00
    为什么要修改指针?
    ClarkAbe
        35
    ClarkAbe  
       2023-11-27 11:31:16 +08:00 via Android   ❤️ 5
    你玩不玩原神 (
    aduo
        36
    aduo  
       2023-11-27 11:32:55 +08:00
    go 很操蛋是没错, 但是怎么得出来语法比 java 啰嗦这个结论的...
    NealLason
        37
    NealLason  
       2023-11-27 11:33:21 +08:00
    笑死了,go 的语法比 java 繁琐。。。
    Vegetable
        38
    Vegetable  
       2023-11-27 11:35:01 +08:00
    很难想象什么题目需要用到 context
    gowk
        39
    gowk  
       2023-11-27 11:40:49 +08:00
    chengxiao
        40
    chengxiao  
       2023-11-27 11:47:28 +08:00
    go 的指针和 context 是优势啊....怎么还有人喷 go 的指针和 context 的
    这是刚学个皮毛就来装逼的吧
    lix7
        41
    lix7  
       2023-11-27 11:48:39 +08:00
    1.18 以后配合泛型库还可以了,这之前确实比较拉
    abcdexx
        42
    abcdexx  
       2023-11-27 11:52:29 +08:00
    写起来是比 php 和 python 麻烦,接受个东西要定义一堆结构体(不过 github 上有相关的包,不用结构体,可以像 python 一样直接取值),但是对于业务理解有好处
    Cambrian07
        43
    Cambrian07  
       2023-11-27 12:19:29 +08:00
    是不是想说 go 的语法糖比较多
    BBCCBB
        44
    BBCCBB  
       2023-11-27 12:28:10 +08:00
    你不懂大道至简
    vfs
        45
    vfs  
       2023-11-27 12:29:20 +08:00
    你觉得不好,可以选择一门更好的语言,不如你说的 java/c++. 但是我觉得好,我还继续用。 我觉得他的语法复杂度只高于 c , 其他的语言都比他语法复杂(当然,我不用 golang 的模板)
    listen6256
        46
    listen6256  
       2023-11-27 12:31:10 +08:00
    js 才是最操蛋的语言
    hancai
        47
    hancai  
       2023-11-27 12:31:44 +08:00
    没觉得复杂
    olaflong
        48
    olaflong  
       2023-11-27 12:50:01 +08:00
    应该说简陋吧,各种基础组件还得自己写确实很蛋疼
    iamwin
        49
    iamwin  
       2023-11-27 12:50:53 +08:00
    听简单的,还没有 js 复杂
    izzy27
        50
    izzy27  
       2023-11-27 12:59:48 +08:00
    @abcdexx 请问是什么包?
    bigha
        51
    bigha  
       2023-11-27 13:00:17 +08:00
    还是怀念野指针满天飞的感觉 ?
    bianhui
        52
    bianhui  
       2023-11-27 13:02:49 +08:00
    凑活用用吧
    lesismal
        53
    lesismal  
       2023-11-27 13:17:50 +08:00
    刷题这个场景,如果还考虑性能(在所有答题者里的排名),那 go 确实不太适合
    yingyan25
        54
    yingyan25  
       2023-11-27 13:27:52 +08:00
    go 上手快的原因就是语法简单
    FightPig
        55
    FightPig  
       2023-11-27 13:29:07 +08:00
    自从啃了几回 rust 终于用上后,再写 go 的 if err!=nil 是真的难受,不过好处就是编译比 rust 快太多了
    Senorsen
        56
    Senorsen  
       2023-11-27 13:32:35 +08:00
    感觉是说反了。语言语法设计太简洁,所以某些实现要写比较罗嗦的代码,实现变繁琐。
    allgy
        57
    allgy  
       2023-11-27 13:33:23 +08:00
    典型的厨子不好怪灶台
    iyaozhen
        58
    iyaozhen  
       2023-11-27 13:36:17 +08:00   ❤️ 1
    @Flourite
    1. 初始化数组得一个个单元初始化
    没懂 能否举个例子?
    2. 不是有 container/heap 嘛?也有第三方库
    3. 我是写业务的,还没遇到要修改指针的场景
    4. ctx 是设计特性,这是优点吧。error 确实诟病很多,但几个版本的更新已经很好用的

    既然不得已已经用了 Go ,还是适应环境更重要,把 Go 当 Go 用,不要带之前的语言习惯。有具体问题解决具体问题比较好
    Austaras
        59
    Austaras  
       2023-11-27 13:53:03 +08:00
    @chengxiao 迭代器失效迭代器失效迭代器失效
    abcdexx
        60
    abcdexx  
       2023-11-27 14:05:26 +08:00   ❤️ 1
    tairan2006
        61
    tairan2006  
       2023-11-27 14:07:19 +08:00
    现在还好吧
    lizy0329
        62
    lizy0329  
       2023-11-27 14:08:34 +08:00
    很明显,他只用过 Javascript
    morebuff
        63
    morebuff  
       2023-11-27 14:17:17 +08:00
    go 是很操蛋,但肯定不是语法繁琐
    xingjue
        64
    xingjue  
       2023-11-27 14:18:54 +08:00
    不是说不能喷 GO ,而是你喷要喷到点子上。

    你说 go 语法繁琐,很显然是没喷到点子上
    iorilu
        65
    iorilu  
       2023-11-27 14:32:46 +08:00
    什么鬼, 确定真的用过 c++

    哪些都是指针满天飞啊
    ixcode
        66
    ixcode  
       2023-11-27 14:33:46 +08:00   ❤️ 2
    @Mark24 大道至 if err != nil
    ydpro
        67
    ydpro  
       2023-11-27 14:35:12 +08:00
    我说怎么这么多回复,还以为又要吐槽 Go 的 err 处理了(😀
    dobelee
        68
    dobelee  
       2023-11-27 14:44:03 +08:00
    好的。我们知道 Go 比 C++繁琐了。
    darksword21
        69
    darksword21  
       2023-11-27 14:47:03 +08:00
    您应该自创编程语言
    littlewing
        70
    littlewing  
       2023-11-27 14:56:34 +08:00
    比 C++ 复杂?你逗我玩呢
    cyrivlclth
        71
    cyrivlclth  
       2023-11-27 15:07:52 +08:00
    除了 error 外,完全不懂你说的问题是啥。要不你放弃了吧。。。
    jadeborner
        72
    jadeborner  
       2023-11-27 15:14:58 +08:00
    既然这么不堪,那你为什么要学,有人拿枪逼着你?
    Ericcccccccc
        73
    Ericcccccccc  
       2023-11-27 15:24:30 +08:00
    什么语言能比 c++ 复杂...
    mknightoy
        74
    mknightoy  
       2023-11-27 15:25:41 +08:00
    哈哈怼的那么厉害, 不过 op 说的应该是实现功能繁琐 [/dog]
    lsk569937453
        75
    lsk569937453  
       2023-11-27 15:26:36 +08:00
    论繁琐程度
    node=python<.net=golang=java<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<c++。

    如果你感觉 golang 比 c++繁琐,只能说明你的 c++项目属于 demo 型的。
    Bingchunmoli
        76
    Bingchunmoli  
       2023-11-27 15:27:25 +08:00 via Android
    最近看 go ,面向对象那块看得有点迷惑
    aduangduang
        77
    aduangduang  
       2023-11-27 15:45:57 +08:00
    有没有可能,你写的是 gova ?或者 go++??
    martin0330
        78
    martin0330  
       2023-11-27 15:48:01 +08:00
    我怎么觉得你该学的不是 Go 而是语文,你要表达的是「 Go 语法过于简陋,所以做起事情比较繁琐」,而不是 Go 语法繁琐吧……
    tietou
        79
    tietou  
       2023-11-27 15:52:35 +08:00
    你要说 go 比 python 繁琐的话还行... 你说比 c++ 繁琐,就有点....
    tool2d
        80
    tool2d  
       2023-11-27 16:00:52 +08:00
    @iorilu C++本身不复杂,但就是有很多人,喜欢用不好维护的裸指针链表,我也是醉了。
    stardew
        81
    stardew  
       2023-11-27 16:08:55 +08:00
    语法繁琐...
    HanSonJ
        82
    HanSonJ  
       2023-11-27 16:21:20 +08:00
    @Bingchunmoli #76 go 哪来的面向对象
    8355
        83
    8355  
       2023-11-27 16:30:15 +08:00
    刷题用你熟悉的就好,这个真不用喷。
    cy18
        84
    cy18  
       2023-11-27 16:30:56 +08:00
    见过很多吐槽 go 的,但是第一次见吐槽语法比 C++/Java 繁琐的
    araraloren
        85
    araraloren  
       2023-11-27 16:57:24 +08:00
    Such languages as c/go are simple to learn but complex to write, and verbose.
    Such languages as c++/java/rust/c# are complex to learn but simple to write.
    stevefan1999
        86
    stevefan1999  
       2023-11-27 16:59:52 +08:00
    你太他媽的對了 這也是為什麼我放棄 golang 的原因之一 連一個合理的 lambda expression 設計都沒有 轉回去 c#/rust 算了
    fregie
        87
    fregie  
       2023-11-27 17:20:27 +08:00
    golang 本身就不是利好开发者(coder)的语言,是利好工程师的语言
    简单说就是,搬砖的要搬更多砖,但是能建造出稳定性和性能更好建筑
    seth19960929
        88
    seth19960929  
       2023-11-27 17:21:39 +08:00
    @iyaozhen #58 我猜楼主是 for 循环去设置每一个元素而不是 make 吗
    Yadomin
        89
    Yadomin  
       2023-11-27 17:23:01 +08:00
    不如让大家看看你之前用 C++/Java 写过什么
    Nugine0
        90
    Nugine0  
       2023-11-27 17:24:02 +08:00
    这类帖子真是从来不会缺流量,像野怪一样每隔一段时间就刷新
    Rehtt
        91
    Rehtt  
       2023-11-27 17:24:50 +08:00
    @fregie 确实,无论水平高低写出来的都大差不差,这样利于团队协作和维护
    helloworldgo
        92
    helloworldgo  
       2023-11-27 17:44:13 +08:00
    js 点赞
    loolac
        93
    loolac  
       2023-11-27 18:12:38 +08:00
    语法繁琐,确认不是代码写的繁琐了?
    lvlongxiang199
        94
    lvlongxiang199  
       2023-11-27 18:18:02 +08:00
    用 go 写代码刷题觉得太操蛋了
    用 go 写代码刷题觉得太操蛋了
    用 go 写代码刷题觉得太操蛋了

    这能说明啥问题 ? 刷题能用到并发编程吗 ? 能用到 rpc 吗 ? 需要处理 timeout 吗 ?
    跟现实世界的业务场景差别太大了, go 里头一些特性(用同步的方式写异步代码)都用不到
    Donahue
        95
    Donahue  
       2023-11-27 18:21:32 +08:00
    不敢苟同, c++只会用 c with class, python 用很久了, 觉得语法啰嗦,写起来不美观
    go 是简洁又美观
    p1gd0g
        96
    p1gd0g  
       2023-11-27 18:22:42 +08:00
    所以 op 意思不是说语法繁琐,而是说额外的工作量很繁琐
    这就是 go 呀,也是一部分开发觉得 go 不适合写业务的原因
    Gimorocun
        97
    Gimorocun  
       2023-11-27 18:30:54 +08:00
    讲道理,go 的语法是所有语言里最简洁/简单的
    SilencerL
        98
    SilencerL  
       2023-11-27 18:36:29 +08:00
    除了「 if err != null 退格退格退格 il 」
    感觉 Go 我自己用起来没啥好喷的了(
    pennz
        99
    pennz  
       2023-11-27 18:48:17 +08:00
    go 语法繁琐???
    Bingchunmoli
        100
    Bingchunmoli  
       2023-11-27 18:52:28 +08:00 via Android
    @HanSonJ interface 鸭子类型和 类对应的方法只是 go 不叫类,我是等同理解的,刚开始接收者都没理解什么意思
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3396 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:33 · PVG 19:33 · LAX 03:33 · JFK 06:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.