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来跳出或继续循环。