Baldwin 发表于 2020-2-23 22:50:32

[分享]golang和c语法对比,快速上手

本帖最后由 Baldwin 于 2020-2-24 08:58 编辑

    由于疫情影响,正好在家初学了go语言,后面也想在嵌入式上用。为了方便以后的人快速学习,将2种语法做了简单对比,如有不对的地方,还请大家指出!





感觉还有好多是go特有的,c没有,就没有列

longsky1985 发表于 2020-2-23 22:51:32

初次看起来,有点别扭

4058665 发表于 2020-2-23 22:54:21

也想试试   就是语法用起来觉得别扭   

redworlf007 发表于 2020-2-24 03:07:54

我非常不习惯go的变量定义

Momo 发表于 2020-2-24 03:53:00

golang 目前什么场景用的比较多?

xuekcd 发表于 2020-2-24 03:55:56

这个语言主要用来做什么?

大傻师 发表于 2020-2-24 05:27:53

感觉嵌入式用上go还有些时间,C不够用的地方C++够了。

xuekcd 发表于 2020-2-24 07:31:49

谢谢楼主分享!

鲜衣怒马 发表于 2020-2-24 07:33:48

c是最优美简洁的语言,没有之一

takashiki 发表于 2020-2-24 08:16:59

总体来说,代码变长了而不是简洁了,简洁的是更多的库和语法糖
很奇怪这些大公司总是热衷于创造新语言而不是改个已有的语言,比如python加上静态类型改成LLVM本机编译型的,不是更牛逼吗
现在的C++标准也是使劲作,各种没啥卵用的特性使劲堆,有用的排期到若干年后,致使现在都C++20了C++11普及都成问题

laujc 发表于 2020-2-24 08:38:43

takashiki 发表于 2020-2-24 08:16
总体来说,代码变长了而不是简洁了,简洁的是更多的库和语法糖
很奇怪这些大公司总是热衷于创造新语言而不 ...

与其改别的语言,真不如重新设计来得省事
写代码都知道,直接按要求重新写过,比在前人的代码上改来得方便

Baldwin 发表于 2020-2-24 08:59:06

之前帖子里没法加表格,导致看起来不直观,重新改了一下

Baldwin 发表于 2020-2-24 09:00:19

longsky1985 发表于 2020-2-23 22:51
初次看起来,有点别扭

之前帖子内容整理的不好,看起来不直观;
另外,如果是c用的很熟的话,go一开始用是特别别扭

Baldwin 发表于 2020-2-24 09:01:46

4058665 发表于 2020-2-23 22:54
也想试试   就是语法用起来觉得别扭

感觉google是为了特意将go和c、c++做区分,把语法搞得反的{:lol:}

RobotRD 发表于 2020-2-24 09:12:56

步子有点大,继续C C++

Baldwin 发表于 2020-2-24 09:25:42

Momo 发表于 2020-2-24 03:53
golang 目前什么场景用的比较多?

个人感觉,go后面可以用在linux应用级别的开发,有些网友用go开发应用,资源消耗也不是很大,主要是开发方便

异客 发表于 2020-2-24 09:26:20

感谢分享

Baldwin 发表于 2020-2-24 09:28:51

xuekcd 发表于 2020-2-24 03:55
这个语言主要用来做什么?

go在网络这块比较丰富,后期一些物联网开发可以用的上

wuguoyan 发表于 2020-2-24 09:32:09

用起来觉得别扭 ,感觉还是C精简,符合使用习惯

lyping1987 发表于 2020-2-24 09:42:24

这两天也看了下go,有个优点就是编译型,win平台也能生成linux下的执行文件。在网络方面还是方便的。

Baldwin 发表于 2020-2-24 10:19:53

wuguoyan 发表于 2020-2-24 09:32
用起来觉得别扭 ,感觉还是C精简,符合使用习惯

一开始我也是这么觉得,c语法比较简单,但是提供了指针这个神器,后期参考依赖开发人员的能力;
go相对了c,封装了很多工具,可以让开发者降低一些难度;
举个不恰当的例子:c语言类似于练舞时的内功心法,外功依赖于内功;go类似于内功+外功,

avr-arm 发表于 2020-2-24 10:33:51

一个golang的朋友说哪怕你的后端代码写的再烂,测性能时也是杠杠的,go的并发天然的爽。但go目前还没有开箱即用的脚手架,这点不如php和py。

yj_yulin 发表于 2020-2-24 10:42:32

avr-arm 发表于 2020-2-24 10:33
一个golang的朋友说哪怕你的后端代码写的再烂,测性能时也是杠杠的,go的并发天然的爽。但go目前还没有开箱 ...

go的工程性确实方便,配合好的ide(goland),写起代码来感觉就是爽

zhuzi1441 发表于 2020-2-24 10:48:43

影响中与Pascal风格差不多。

powerk6 发表于 2020-2-24 10:49:49

除了网络,并行,还有什么优缺点?

Baldwin 发表于 2020-2-24 11:20:54

powerk6 发表于 2020-2-24 10:49
除了网络,并行,还有什么优缺点?

我目前主要是用在嵌入式上,不是用在服务器后端开发,看中它的成熟库,比如http,校验,xml,等等;这些用c或者c++搞起来需要自己造轮子

Baldwin 发表于 2020-2-24 11:44:13

yj_yulin 发表于 2020-2-24 10:42
go的工程性确实方便,配合好的ide(goland),写起代码来感觉就是爽

我也准备用goland开发,相比vscode,有啥特别优势呢

yj_yulin 发表于 2020-2-24 11:54:30

Baldwin 发表于 2020-2-24 11:44
我也准备用goland开发,相比vscode,有啥特别优势呢

谁用谁知道,在goland写代码感觉就是一种享受

powerk6 发表于 2020-2-24 12:35:26

yj_yulin 发表于 2020-2-24 11:54
谁用谁知道,在goland写代码感觉就是一种享受

语法看起来不明显啊,库呢?

slzm40 发表于 2020-2-24 15:08:55

本帖最后由 slzm40 于 2020-2-24 15:12 编辑

powerk6 发表于 2020-2-24 12:35
语法看起来不明显啊,库呢?

有标准库. 保证向后兼容. 网络库也很全的.最爽的是布署和跨平台编译.
特别在并发方面, 绝对给力.
上面是基本对比. 特有的比如select,chan,interface,方法以及goroutine并发才是核心,也是简化编程方面的东西.
用起来也很享受

slzm40 发表于 2020-2-24 15:13:42

Baldwin 发表于 2020-2-24 11:44
我也准备用goland开发,相比vscode,有啥特别优势呢

区别不太大, goland很多提示方面会更强,而且更专业一些吧. 建议goland可以减少更多的麻烦.

Pupil 发表于 2020-2-24 17:13:05

Baldwin 发表于 2020-2-24 11:44
我也准备用goland开发,相比vscode,有啥特别优势呢

用在嵌入式上,是linux平台吗,单片机不行吧

powerk6 发表于 2020-2-24 19:50:00

缺点是什么呢?

dukelec 发表于 2020-2-24 20:10:04

跟找女朋友一樣,第一眼看着不喜歡,就沒有然後了。。。

dbwu8280 发表于 2020-2-24 20:46:00

只会用C语言吧。

Baldwin 发表于 2020-2-24 21:35:29

dukelec 发表于 2020-2-24 20:10
跟找女朋友一樣,第一眼看着不喜歡,就沒有然後了。。。

感情多处处就有了{:lol:}

Baldwin 发表于 2020-2-24 21:36:46

Pupil 发表于 2020-2-24 17:13
用在嵌入式上,是linux平台吗,单片机不行吧

单片机上好像目前还不行,资源不够

zt2012 发表于 2020-2-24 21:37:18

这个应用场景是?

nanfang2000 发表于 2020-2-25 08:56:38

个人更喜欢rust,语法更舒服一点

nanfang2000 发表于 2020-2-25 09:04:56

Baldwin 发表于 2020-2-24 11:20
我目前主要是用在嵌入式上,不是用在服务器后端开发,看中它的成熟库,比如http,校验,xml,等等;这些 ...

为啥需要造轮子?这种c库不是很多吗

diandianer 发表于 2020-2-25 09:11:42

学习一下

flamma 发表于 2020-2-25 09:13:44

要上golang需要上linux吗?如果需要就排除了一大票的MCU了。

Baldwin 发表于 2020-2-26 08:42:35

flamma 发表于 2020-2-25 09:13
要上golang需要上linux吗?如果需要就排除了一大票的MCU了。

golang是跨平台的,但是对资源有些要求

mangolu 发表于 2020-3-1 18:24:28

请教LZ,GO有对应的GUI吗?

slzm40 发表于 2020-3-2 09:03:55

mangolu 发表于 2020-3-1 18:24
请教LZ,GO有对应的GUI吗?

没有官方的gui,第三方的很多. go定位是在服务器端.

Baldwin 发表于 2020-3-2 11:08:13

mangolu 发表于 2020-3-1 18:24
请教LZ,GO有对应的GUI吗?

看你需要什么样的gui应用,可以用go+web这样方式

security 发表于 2020-3-2 11:20:24

nanfang2000 发表于 2020-2-25 08:56
个人更喜欢rust,语法更舒服一点

第一次见到 Rust,关注一下,谢谢分享信息。

dellric 发表于 2020-3-2 11:47:19

本来C已经很好了,有搞些语言出来骗小娃娃

dellric 发表于 2020-3-2 11:48:56

Baldwin 发表于 2020-2-24 09:25
个人感觉,go后面可以用在linux应用级别的开发,有些网友用go开发应用,资源消耗也不是很大,主要是开发 ...

LINUS大人肯定不高兴,他一直都在拒绝C++,“世界上只有两种语言,C语言和其他语言”

slzm40 发表于 2020-3-4 09:43:42

dellric 发表于 2020-3-2 11:47
本来C已经很好了,有搞些语言出来骗小娃娃

docker容器技术,k8s集群,都是go语言为基础语言发展出来,在推动go的发展.
天生并发协程池,google背书.也希望多骗骗小娃娃啊.
页: [1]
查看完整版本: [分享]golang和c语法对比,快速上手