V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
maryshaw

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

  •  
  •   maryshaw · Jul 15, 2020 · 7634 views
    This topic created in 2118 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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