golang初学 | 青训营笔记

104 阅读3分钟

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

|| 🎶课堂笔记🎶 ||

本堂课重点内容:

  • 为什么要学习go

  • 开发环境搭建

  • 基础语法讲解


go的简单介绍

1、Go语言也称 Golang,兼具效率、性能、安全、健壮等特性。Go语言的并发是基于 goroutine 的,goroutine 类似于线程,但并非线程。可以将 goroutine 理解为一种虚拟线程。Go语言运行时会参与调度 goroutine,并将 goroutine 合理地分配到每个 CPU 中,最大限度地使用 CPU 性能。

2、一个Go语言项目的目录一般包含以下三个子目录:
src 目录:放置项目和库的源文件;
pkg 目录:放置编译后生成的包/库的归档文件;
bin 目录:放置编译后生成的可执行文件。

3、Go语言函数的左大括号{必须和函数名称在同一行,否则会报错。

5、在运行Go语言程序之前,先要将其编译成二进制的可执行文件。除了使用go build命令外,Go语言还为我们提供了go run命令,go run命令将编译和执行指令合二为一,会在编译之后立即执行Go语言程序,但是不会生成可执行文件。


如何在GoLand上运行第一个go程序

通过golang官网下载sdk
下载GoLand IDE

屏幕截图 2023-01-15 140019.png

打开goland 在项目上创建自己的go项目创建go文件

//main包是Go语言程序的入口包
package main

//导入fmt包
import (
   "fmt"
)

//程序输出
func main() {
   fmt.Println("hello,world")
}

执行以上代码,控制台输出:

hello,world

Process finished with the exit code 0

到此为止我的第一个go程序运行成功


学习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 当一个变量被声明之后,系统自动赋予它该类型的零值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil 等。所有的内存在 Go 中都是经过初始化的。 声明变量的方法:
    var hp int
    var hp int = 100
    简便hp := 100
  2. if 和 else 在 if 的简短语句中声明的变量可以在任何对应的 else 块中使用。
  3. 切片知识:Go 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。
    len() 和 cap() 函数举例:
    package main
import "fmt"  
  
func main() {  
   var numbers = make([]int,3,5)  
  
   printSlice(numbers)  
}  
  
func printSlice(x []int){ 
   //切片是可索引的,并且可以由 len() 方法获取长度。
   //切片提供了计算容量的方法 cap() 可以测量切片最长可以达到多少。
   fmt.Printf("len=%d cap=%d slice=%v\n",len(x),cap(x),x)  
}

控制台输出:

len=3 cap=5 slice=[0 0 0]