首页 > 代码库 > 我眼中的go的语法特点
我眼中的go的语法特点
因为基本从c#/javascript/c/c++/python/lua/action script,一路走来,对所有的C系列的语法既熟悉又有好感;
那在看语言的时候肯定会与C系列的东西进行类比,那就总结一下go语言与C比的特别之处
- 声明变量常量及函数类型时放在名称的后面,这点有点类似as3,只不过把as3声明变量时的那冒号去掉而已
- 只能定义结构体及函数,没有类这种东西,就是说,函数和成员变量不能放一块,这一点和C一样
- if及for等子句的条件,不需要使用括弧包起来,这点和python2一样
- 循环子句只用for,但是这个for比较特殊,可以使用里面有两个分号,或者直接什么条件都不带变成while(true)的
- 跟python一样,函数可以使用多返回值,声明变量及赋值可以一行多个
- 跟python一样,很多系统函数实现基本一致的功能,len获得数组、字符符的长度,range可以获得循环的迭代器,make可以产生map实例。如m := make(map[string]int)
- 跟python一样,有个delete,只不过是这么用的delete(m, "Answer")
- 跟python一样,内置了字符串、数组、map
- 更特别的是这个内置的map居然是个std::multimap,调一次相同key,再调一次就会变成下面那个
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。