Go学习笔记(day1) | 青训营笔记

83 阅读3分钟

这是我参与「第五届青训营」伴学笔记创作活动的第1天

笨人纯小白,笔记包括一些上课学到的知识和课外总结的内容,如有错误请指正!

一、Golang语言特点

  1. Go语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容Go语言:GO=C+Python
  2. 从C语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等
  3. 引入了包的概念,用于组织程序结构,Go语言的文件都要归属于包,而不能单独存在
  4. 垃圾回收机制,内存自动回收,不需要开发人员管理

二、Golang执行流程分析

  1. 如果使用go build xx.go就是对源码进行编译,形成可执行文件(.exe),然后通过运行这个文件 ,使得这个代码运行

image.png

image.png 2. 此时在运行的文件夹中能够看到生成的可执行文件

image.png 3. 如果使用go run main.go就是对源码直接执行

image.png

image.png 4. 现在来看看这两种编译模式的区别

  • 如果我们先编译了文件,得到了可执行文件,那我们把这个文件放到任何一个没有go开发环境的机器上,仍然可以运行;
  • 如果我们是直接go run,并没有得到可执行文件,那我们如果要在另一个机器上运行就需要go语言的环境;
  • 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以可执行文件变大了很多。

5. 注意事项

  • Go编译器是一行一行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一行,否则报错;
  • Go语言定义的变量或者import的包如果没有使用到,代码不能编译通过。

三、Golang变量

  1. 什么是变量?
    • 变量是程序的基本组成单位,变量相当于内存中国的一个数据结构的存储空间,你可以把变量看作是一个房间的门牌号,通过这些门牌号可以找到房间背后的数据。
  2. 为什么需要变量?
    • 因为有时候我们提前并不知道数据是什么,所以我们需要先创建一个存储空间来存储。(就像你出租的房子永远不能提前知道租客是谁,但是你得先有房子才能用来出租)
  3. 变量的使用步骤
    • 声明变量
    • 非变量赋值
    • 使用变量

image.png

  1. 变量使用注意事项
    • 变量表示内存中的一个存储区域

    • 该区域有自己的名称和类型

    • 定义变量的三种方式

      • 指定变量类型,声明后若不赋值,使用默认值
          var b, c int = 1, 2
          f := float32(e)
      
      • 根据值自行判定变量类型
          var a = "initial"
          var b, c int = 1, 2
      
      • 省略var,注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误
          f := float32(e)
          g := a + "foo"
      
  2. 变量的声明
    • var 变量名 数据类型
  3. (补)程序中“+”号的使用
    • 当左右两边都是数值型时,则做加法运算;
    • 当左右两边都是字符串,则做字符串拼接。