最近在看 Golang,为什么觉得和 Javascript 语法那么像? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
maryshaw
V2EX    Go 编程语言

最近在看 Golang,为什么觉得和 Javascript 语法那么像?

  •  
  •   maryshaw 2020-07-15 17:10:47 +08:00 7308 次点击
    这是一个创建于 1917 天前的主题,其中的信息可能已经有所发展或是发生改变。

    同样有 var const 和...一些的操作。。还有闭包。。之间有借鉴吗

    52 条回复    2020-11-27 19:06:11 +08:00
    wysnylc
        1
    wysnylc  
       2020-07-15 17:12:33 +08:00
    弱类型的写法都差不多,你还可以看看 php
    maichael
        2
    maichael  
       2020-07-15 17:13:12 +08:00   7
    你不会以为 var const 还有闭包是 Javascript 特有吧。
    maigebaoer
        3
    maigebaoer  
       2020-07-15 17:14:51 +08:00 via Android
    概念都一样,所以像。u1s1,go 的语法反直觉,毕竟我一直使用 class 。
    TypeError
        4
    TypeError  
       2020-07-15 17:15:32 +08:00 via Android   6
    @wysnylc go 怎么变弱类型了
    libook
        5
    libook  
       2020-07-15 17:16:56 +08:00
    如今的编程语言都是互相借鉴的,const 的写法 JS 也是近几年从别的语言借鉴来的。

    大家如果普遍觉得有用的语言特性被正在使用的语言借鉴过来,也是件好事,毕竟好用、能满足需求就可以。
    maryshaw
        6
    maryshaw  
    OP
       2020-07-15 17:19:42 +08:00
    @maichael 之前是这么以为
    maryshaw
        7
    maryshaw  
    OP
       2020-07-15 17:20:00 +08:00
    @wysnylc go 不是弱类型
    qq1340691923
        8
    qq1340691923  
       2020-07-15 17:20:30 +08:00
    互相抄
    qq1340691923
        9
    qq1340691923  
       2020-07-15 17:20:57 +08:00
    是不是写起来很像弱类型语言
    ahmcsxcc
        10
    ahmcsxcc  
       2020-07-15 17:21:09 +08:00
    Javascript 的 const 不是刚出没几年吗
    gugogo
        11
    gugogo  
       2020-07-15 17:23:06 +08:00
    @maigebaoer 我以为 u1s1 是啥语言缩写呢 原来是有一说一的意思
    zarte
        12
    zarte  
       2020-07-15 18:31:57 +08:00
    借鉴吧。
    lhlyu
        13
    lhlyu  
       2020-07-15 18:47:19 +08:00
    闭包的概念出现很早,大概上世纪 60 年代就出现了,主要用于函数式编程
    whoami9894
        14
    whoami9894  
       2020-07-15 22:22:05 +08:00   2
    没有恶意,楼主是不是只接触过这两种语言
    hantsy
        15
    hantsy  
       2020-07-15 22:23:50 +08:00
    不习惯 Go 的 Interface,太可怕了。
    XanderChen
        16
    XanderChen  
       2020-07-15 22:26:08 +08:00
    没啥借鉴的。

    用这些单词是因为英语单词比较少,刚好这俩能表示其具体含义而已。
    ClericPy
        17
    ClericPy  
       2020-07-15 22:42:32 +08:00
    C-LIKE languages 多的很...
    DoctorCat
        18
    DoctorCat  
       2020-07-15 23:54:05 +08:00
    还像 Java 、Python 呢…
    CosimoZi
        19
    CosimoZi  
       2020-07-15 23:56:18 +08:00
    年轻人的第一门语言?
    maryshaw
        20
    maryshaw  
    OP
       2020-07-16 01:37:29 +08:00
    @DoctorCat python 和 java 也有 var 和 const 吗。。
    maryshaw
        21
    maryshaw  
    OP
       2020-07-16 01:37:58 +08:00
    @CosimoZi 主要用 js 学过一点 java 。。
    ddgweb
        22
    ddgweb  
       2020-07-16 01:50:40 +08:00
    所以,难道这样不好吗,我绝得挺好
    sxfscool
        23
    sxfscool  
       2020-07-16 08:36:24 +08:00
    @wysnylc go 不是弱类型...别张嘴就来呀
    einsdisp
        24
    einsdisp  
       2020-07-16 09:20:53 +08:00
    我擦,咱们学的是同一个 go 、js 语言吗?
    这俩语法差了十万八千公里好不好。
    难道兰州以为,两个编程语言,只要有相同的关键字,就算是“很像”?
    qW7bo2FbzbC0
        25
    qW7bo2FbzbC0  
       2020-07-16 09:57:37 +08:00
    @maryshaw python 没有,let 在 f#中也有
    luckyc
        26
    luckyc  
       2020-07-16 10:16:01 +08:00
    谁告诉你 go 是弱类型?
    你让他出来
    FlexGap
        27
    FlexGap  
       2020-07-16 10:22:19 +08:00
    @wysnylc GO 怎么会是弱类型。。。
    MrTreasure
        28
    MrTreasure  
       2020-07-16 10:30:04 +08:00
    既像又不像

    像的地方在于,go 的语法简单,类似脚本语言的风格,不用搭建复杂的环境,就命令式的代码一行行写起来就能跑起来,这方面和 js 很像。

    不像的地方在于,interface 和 继承都是自成一派,在面向对象的地方就完全是 go 的编程思维。不过一般写 js 的,需要使用面向对象的场景都比较少
    yzk66880
        29
    yzk66880  
       2020-07-16 10:52:27 +08:00
    一点也不像
    wellsc
        30
    wellsc  
       2020-07-16 10:54:35 +08:00
    c like 的语言都会有点相似
    Jirajine
        31
    Jirajine  
       2020-07-16 10:54:35 +08:00 via Android
    按你这样说 c 系语言都很像。
    不如去看看非 c 系的,比如 lisp
    lbunderway
        32
    lbunderway  
       2020-07-16 10:55:22 +08:00
    我也是从 js 转 go,我扎个觉得么啥共同点呢
    meteor957
        33
    meteor957  
       2020-07-16 10:59:52 +08:00
    var 箭头函数 闭包 kotlin 也有 ....
    traderlqm
        34
    traderlqm  
       2020-07-16 11:00:35 +08:00
    我认为更像 c 和 python 。
    比如,定义变量"a, b *int",a 和 b 都是指针,消除了 c 中的"int * a, b;" a 是指针 b 不是指针的鬼问题;
    go 支持 import 这种包方式,代码不需要分号,又有 range 这种特别像 python 。
    Rwing
        35
    Rwing  
       2020-07-16 11:01:24 +08:00
    var array = new [] { 1, 2, 3, 4, 5 };
    var slice1 = array[2..^3];

    猜猜这是什么语言...
    chenglus
        36
    chenglus  
       2020-07-16 11:07:52 +08:00
    语法哪里像了,就几个关键词一样而已
    timeromantic
        37
    timeromantic  
       2020-07-16 11:18:17 +08:00
    @wysnylc 用过 golang 吗?就说 go 是弱类型语言,我知道你想说 通过 := 赋值的方式是弱类型,不过能这么说说明你也没学多少
    taxiaohaohhh
        38
    taxiaohaohhh  
       2020-07-16 11:20:54 +08:00
    @einsdisp 我也感觉,除了 var const 和 js 真的十万八千里的区别
    huobazi
        39
    huobazi  
       2020-07-16 11:24:17 +08:00
    去看看 dart
    linvon
        40
    linvon  
       2020-07-16 11:29:55 +08:00
    啊这。。。
    lower
        41
    lower  
       2020-07-16 11:31:27 +08:00
    自动类型推导
    leekafai
        42
    leekafai  
       2020-07-16 11:45:35 +08:00
    if else
    for
    (){}
    好像他们都跟 c 差不多
    nianyu
        43
    nianyu  
       2020-07-16 11:50:36 +08:00
    想看不一样的就学 prolog haskell
    chengxiao
        44
    chengxiao  
       2020-07-16 11:50:54 +08:00
    js 和 go.......差远了啊...
    就 go 这种丑死了的写法 不写个半年一年 真是适应不了..
    不过 适应了之后 真香~
    simenet
        45
    simenet  
       2020-07-16 11:55:43 +08:00
    辣鸡 go 写的我要死了。。全是 err!=null
    ugentlenicho
        46
    ugentlenicho  
       2020-07-16 11:59:53 +08:00
    @maigebaoer 那您怕是连 C 没没写过
    maigebaoer
        47
    maigebaoer  
       2020-07-16 15:03:33 +08:00 via Android
    @ugentlenicho 不好意思,大学就写过一学期 C
    missdeer
        48
    missdeer  
       2020-07-16 15:16:23 +08:00
    你看看 swift 是不是像的更多
    wowbaby
        49
    wowbaby  
       2020-07-16 15:19:37 +08:00
    到处是 err!=null,个人不喜欢这种风格,c#,java 这种看着舒服
    knva
        50
    knva  
       2020-07-16 15:51:47 +08:00
    ? 不是 err!=nil?
    MaCreee
        51
    MaCreee  
       2020-07-20 14:59:54 +08:00 via iPhone
    最近无聊用 Go 重构之前写的小工具,我也菜,但是感觉效率还是很低…可能 Python 让我先入为主了,个人觉得只能说个别地方类似吧
    sunshinev
        52
    sunshinev  
       2020-11-27 19:06:11 +08:00
    @wysnylc 弱类型。。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5457 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 07:58 PVG 15:58 LAX 00:58 JFK 03:58
    Do have faith in what you're doing.
    ubao 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