go第一天课程基础语法+项目实战| 青训营笔记

77 阅读3分钟

Go 语言入门到初步进阶

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

如若喜欢就去尝试毕竟人生那么短,转眼发现已过半生

一、Go 语言简介

Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具 Python等动态语言的开发速度和 C等编译型语言的性能与安全性”。

Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程。

Go语言的推出,旨在不损失应用程序性能的情况下降低代码的复杂性,具有“部署简单、并发性好、语言设计良好、执行性能好”等优势,目前国内诸多 IT 公司均已采用Go语言开发项目。

Go语言有时候被描述为“C 类似语言”,或者是“21 世纪的C语言”。Go 从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想,还有C语言一直所看中的编译后机器码的运行效率以及和现有操作系统的无缝适配。

因为Go语言没有类和继承的概念,所以它和 Java或 C++ 看起来并不相同。但是它通过接口(interface)的概念来实现多态性。Go语言有一个清晰易懂的轻量级类型系统,在类型之间也没有层级之说。因此可以说Go语言是一门混合型的语言。

此外,很多重要的开源项目都是使用Go语言开发的,其中包括 Docker、Go-Ethereum、Thrraform 和 Kubernetes。

二、Go基础知识总结

1. Go语言的数据类型

  • bool
  • string
  • int、int8、int16、int32、int64
  • uint、uint8、uint16、uint32、uint64、uintptr
  • byte // uint8 的别名
  • rune // int32 的别名 代表一个 Unicode 码
  • float32、float64
  • complex64、complex128

2. Go语言变量的声明(使用var关键字)

标准格式:var 变量名 变量类型 声明变量的一般形式是使用 var 关键字:var a, b *int

3. Go语言变量的初始化

4. Go语言多个变量同时赋值

5. Go语言匿名变量(没有名字的变量)

6. Go语言变量的作用域

7. Go语言整型(整数类型)

8. Go语言浮点类型(小数类型)

9. Go语言复数

10. Go语言输出正弦函数(Sin)图像

11. Go语言bool类型(布尔类型)

12. Go语言字符串

13. Go语言字符类型(byte和rune)

14. Go语言数据类型转换

15. Go语言指针详解,看这一篇文章就够了

16. Go语言变量逃逸分析

17. Go语言变量的生命周期

18. Go语言常量和const关键字

19. Go语言模拟枚举(const和iota模拟枚举)

20. Go语言type关键字(类型别名)

21. Go语言注释的定义及使用(godoc工具提取注释内容)

22. Go语言关键字与标识符简述

23. Go语言运算符的优先级

24. Go语言strconv包:字符串和数值类型的相互转换

三、项目实战

1. 输出hello

package main

import (
   "fmt"
)

func main() {
   fmt.Println("hello world")
}

2. 变量的定义

package main

import (
   "fmt"
   "math"
)

func main() {

   var a = "initial"

   var b, c int = 1, 2

   var d = true

   var e float64

   f := float32(e)

   g := a + "foo"
   fmt.Println(a, b, c, d, e, f) // initial 1 2 true 0 0
   fmt.Println(g)                // initialapple

   const s string = "constant"
   const h = 500000000
   const i = 3e20 / h
   fmt.Println(s, h, i, math.Sin(h), math.Sin(i))
}

3.for循环