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 · 6877 次点击
    这是一个创建于 1599 天前的主题,其中的信息可能已经有所发展或是发生改变。

    同样有 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#中也有
    l4ever
        26
    l4ever  
       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 也有 ....
    qiangmin
        34
    qiangmin  
       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   ·   实用小工具   ·   938 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:05 · PVG 05:05 · LAX 13:05 · JFK 16:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.