Go语言上手-基础语言|青训营笔记

110 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记

内容简图: image.png

课程源码地址为:github.com/wangkechun/…

短链接:hi-hi.cn/go

1.Go语言简介

1.1 Go语言的优势

Go语言,作为编程语言的后生,站在巨人的肩膀上,吸收了其他一些编程语言的特点。

Go 编程语言是一个开源项目,它使程序员更具生产力。Go 语言具有很强的表达能力,它简洁、清晰而高效。得益于其并发机制, 用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型系统则使程序结构变得灵活而模块化。 Go 代码编译成机器码不仅非常迅速,还具有方便的垃圾收集机制和强大的运行时反射机制。 它是一个快速的、静态类型的编译型语言,感觉却像动态类型的解释型语言。(摘取自官网)

1.2 Go语言的特性

并发编程:高并发是Golang语言最大的亮点

内存回收(GC)

内存分配

编译

网络编程

函数多返回值

语言互交性

异常处理,等多种特性

1.3 Go代码的构成

image.png

package (包名)

import(导入内置包文件)

func main(){}//主函数

2. Go的入门

2.1 Go 语言有以下的基本类型:

  • byteintint8int16int32int64uint...
  • float32float64
  • error
  • string
  • bool
  • rune

等。

2.2 Go 语言的基本语法

Go语言的规范性比较严格

变量定义:

image.png

(ps:在Go语言里面定义的变量必须在后续中用到,不然的话会报错)

if-else if-else 结构:

image.png

(ps:在Go语言里面else 需要在if大括号结束的那一行)

循环结构:

image.png

switch结构:

image.png

相比较与c/c++语言,go语言的case之后无需加break

数组定义:

image.png

切片定义:

image.png

make([]type,n) 建立n个type类型的切片

append(array,type) 在array切片的尾端增加同类型值为type的一个值

map定义:

image.png

等一些基础语法。

3.实战开发之猜数问题

3.1 代码提供:

package main

import (
	"fmt"
	"math/rand"
)

func main() {
	maxNum := 100
	secretNumber := rand.Intn(maxNum)
	var a int
	fmt.Scanf("%d", &a)
	for i := 1; ; i++ {
		if a > secretNumber {
			fmt.Println("输入的数字大了")
		} else if a < secretNumber {
			fmt.Println("输入的数字小了")
		} else {
			fmt.Println("恭喜你猜对了")
			break
		}
		fmt.Scanf("%d", &a)
	}
}

4.总结

第一天的笔记就到这里,本人属于小白一个,以后还有很长的路要走。