Go语言基础| 青训营笔记

91 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天 在以往的学习中,我是以Java语言为主,兴趣之余学习了下Python,加上大一的时候老师教了c语言入门,对编程语言有一定的认识。这次是零基础接触Go,我感觉go像三者结合体。1.作为高级语言,更加简洁。2.与c对比,它在增加了垃圾自动回收的同时,保留了指针。3.与JAVA 相比,句末省去了 ; ,if 后条件判断为布尔值,且不用加括号。4.与python相比,与python一样,简练,且引入了python的切片。初学有些困难,我从零开始学习了下Go,以下是笔记 1.

image.png

  • Go中mian不支持任何返回值
  • 通过os.Exit来返回状态
  • main函数中不支持传入参数
  • 在程序中通过os.Args获取命令行参数

2.与其他高级语言的差异

- 变量赋值

1.复制可以进行自动类型推断,如下代码,Go会由a=1推断出b=1 var ( a int = 1 b = 1 )

image.png

  • 2.在一个赋值语句中可以对多个变量进行同时赋值 -a := 1 b := 1 tmp := a a := b b :=tmp

image.png 可优化为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循环中,条件语句一样没有括号