#小白学Go-01# 学完Go指南感受,对比一下Go与其他语言

本文作者分享了从零开始学习Go语言的感受,提到Go在变量定义、函数与结构体上的C/C++风格,以及独特的切片、switch和方法设计。作者还提到了Go的http/https包作为其主要特色之一。
摘要由CSDN通过智能技术生成

本人以前是C/C++和Python选手,因为以后的工作需要用到Go,所以只好从零开始学习Go。本篇记录一下刚看完Go指南的感受,可能理解还不到位。

总体感受

学完Go指南给我最大的感觉就是,在变量定义方面很像Pascal,在函数、结构体、方法方面很像C,虽然没有C++中类的概念,但是通过方法可以实现类似的功能,但是我感觉不如C++的表达更加清晰,对于我这种初学者来说看各种方法和接口的定义有点眼花缭乱。

基本语法

在基本语法方面,其实这对于每种语言都不是一个难题。基本的变量类型都是一样的,单个数值的定义都很简单,不过Go支持短定义和隐式定义,这有点像Python中的写法,比较简单,一般也不会混淆。

不过对于数组方面,Go中有切片的概念,有长度和容量的概念,这好像与其他语言不太一样,并且一个切片的改动会影像其他切片,这样对于一致性比较有保证,但是对代码中创建副本进行处理时要特别小心。

至于循环方面,Go中只保留了for的写法,这也问题不大,同样可以实现while的功能。

最深得我心的一个用法便是switch的用法,之前用C写switch都太麻烦,并且条件部分不支持变量,写起来很难受,用的很少。现在Go语言中支持在switch中使用变量,真正是实现了“选择”的功能,感觉是更加方便的。

函数、结构体、方法

这些属于高级一点的用法了。函数方面与其他语言写法都很相同,在传入参数方面指针和引用的用法都差不多,不过Go语言中存在对结构体指针的简写,有时候会让人产生疑惑。结构体方面都是差不多的。

Go语言对我来说最不同的一点便是方法的设计,Go语言中允许给变量实现“方法”,实际上类似于将该变量看作是一个对象或者类,所实现的方法就像是这个类内的函数。同时,Go语言中存在接口类型,可以用来代表所有实现了同一种“方法”的变量类型,这个实际上实现了类似于多态的功能,不同的变量拥有同一种方法实现,具体调用哪一种方法取决于接口类型是哪一种。

进阶“包”

Go语言最大的特色应该是有很多关于http/https的包,可以简单实现网络和存储方便的许多功能,这些还没有学到,之后学了再补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值