第六届字节跳动青训营走进Go基础语法(上) | 青训营

59 阅读4分钟

1. 什么是Go语言

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

2. Go的基础语法

2.0 包的声明和导入

这里main函数所在的包就是main包 Go 语言的包与文件夹一一对应,所有与包相关的操作,必须依赖于工作目录(GOPATH)

package main

这里improt就是导入你所要使用到的包,fmt是标准库包,也可以导入自定义包,需要在其中写入自定义包的路径

import (
	"fmt"
)

2.1 Go 的 Hello World

就是正常的输出语句,类似C++里puts的作用

package main

import (
	"fmt"
)

func main() {
	fmt.Println("Hello, World!")
}

2.2 变量的声明

变量是计算机编程中用来存储和表示数据的一种命名标识符。它可以是数字、文本、布尔值或其他任何数据类型。通过给变量赋予一个特定的值,程序可以在后续的运算中使用这个值。变量的值可以随时改变,这使得程序可以根据不同的条件和需求来动态地处理数据。在许多编程语言中,变量需要先声明或定义,指定其名称和类型,然后才能被使用。

2.2.1 var声明

像python一样,可以自动匹配类型

	var a = "Go"
	var b, c int = 123,456

2.2.2 := 声明

:= 可以自动匹配后面的变量类型

	var a = "Go"
	g := a + "GoGoGo"

2.3 常量声明

就是把var改成const,如果是字符串要声明一下类型,常量是在程序中定义的不可改变的值。它们是固定的,不会在程序执行过程中发生变化。在大多数编程语言中,常量通常在声明时被赋予一个初始值,并且在整个程序中保持不变。常量的作用是在程序中存储固定值,以便在需要时使用。常量可以用于存储数值、字符串、布尔值等不可变的数据。

	const a = 111
        const s string = "abcdefg"

总结

在Go语言中,变量用于存储和操作数据,而常量则用于表示不可变的值。使用关键字"var"来声明变量,并可以选择指定变量的类型或让编译器根据赋值进行类型推断。常量使用关键字"const"来声明,并且在声明时必须给定初始值。此外,Go语言还支持同时声明多个变量,并通过常量组来模拟枚举的功能。这些特性使得我们能够更好地管理和操作数据,并编写出更清晰、可维护的代码。

2.4 判断语句

2.4.1 else if 语句

要注意else和else if不能另起一行,要写在第一个if括号结束那行,与C++不同的是Go中的if语句不需要打括号

	if 1+1 == 2 {
		fmt.Println("dui")
	} else {
		fmt.Println("budui")
	}
	if 2+2 > 4 {
		fmt.Println("dayu")
	} else if 2+2 < 4 {
		fmt.Println("xiaoyu")
	} else {
		fmt.Println("dengyu")
	}

2.4.2 switch语句

与C++中不同的是,Go中的switch语句不需要写break,跑完一条分支后结束,不会继续跑后面的分支条件,default表示除了以上case以外的其他情况,可加可不加

	a := 1
	switch a {
	case 1:
		fmt.Println("a = 1")
	case 2:
		fmt.Println("a = 2")
	default:
		fmt.Println("a != 1 && a != 2")
	}

2.5 循环语句

与C++中的循环语句大致相同,循环条件不需要加括号,同样也可以使用break和continue来跳出或继续循环

	for i := 1; i <= 5; i++{
		fmt.Println(i)
	}

总结

在Go语言中,if语句的写法与C语言略有不同,else和else if不需要另起一行,而是写在第一个if括号结束的那行。此外,在Go语言中的if语句不需要打括号。在Go语言中的switch语句与C语言也有一些不同。在Go语言中,switch语句不需要写break,每个case执行完毕后会自动结束,并且可以使用default表示除了以上case以外的其他情况。循环语句与C语言中的循环相似,在Go语言中也有for循环,循环条件不需要加括号,同样可以使用break和continue来跳出或继续循环。