这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天 在以往的学习中,我是以Java语言为主,兴趣之余学习了下Python,加上大一的时候老师教了c语言入门,对编程语言有一定的认识。这次是零基础接触Go,我感觉go像三者结合体。1.作为高级语言,更加简洁。2.与c对比,它在增加了垃圾自动回收的同时,保留了指针。3.与JAVA 相比,句末省去了 ; ,if 后条件判断为布尔值,且不用加括号。4.与python相比,与python一样,简练,且引入了python的切片。初学有些困难,我从零开始学习了下Go,以下是笔记 1.
- Go中mian不支持任何返回值
- 通过os.Exit来返回状态
- main函数中不支持传入参数
- 在程序中通过os.Args获取命令行参数
2.与其他高级语言的差异
- 变量赋值
1.复制可以进行自动类型推断,如下代码,Go会由a=1推断出b=1
var ( a int = 1 b = 1 )
- 2.在一个赋值语句中可以对多个变量进行同时赋值
-
a := 1 b := 1 tmp := a a := b b :=tmp
可优化为
a,b = b,a
-数据类型
-1.Go语言不支持隐式转换(强制转换) -2.别名和原有类型也不能进行类型转换
-指针
-1.不支持指针运算 -2.String是值运算,其默认的初始化值为空字符串非nil
-循环
-1.仅支持关键字for,不支持while与do while for j:=7;j<=9;j++ -2.可用for来写while循环,switch循环中,条件语句一样没有括号