Go 语言
Go 语言,也常被称为 Golang,是 Google 发布的开源编程语言。它是静态类型,编译型语言,强调简单、高效并且可靠。
安装和设置
首先,访问 Golang 官方网站 下载并安装适合你操作系统的版本。
安装完毕后,打开命令行或终端,输入 go version,若显示出 Go 的版本号则表示安装成功。
Hello World
Go 语言的入门程序如下:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
将以上代码写入源文件hello.go后在终端运行go run hello.go编译并运行程序,可以看到输出。
1. 变量声明
Go:
goCopy code
var name string = "Go"
name := "Go"
- Go 语言支持类型推断,即根据赋值来判断变量的类型。
其它语言实现
- C/C++ 语言需要明确指定变量的类型。
- 和 C/C++ 一样,Java 也需要明确地指定变量的类型。
- Python 使用动态类型变量。
**
Go 语言与 C、Java、C++ 的语法特性对比**
2. 条件语句
Go 的条件语句不需要括号包围条件,这与 C、C++ 和 Java 不同,这些语言都使用括号。
Go:
if name == "Go" {...} else {...}
3. 循环
Go 语言没有 while 和 do...while 循环,它仅使用 for 循环。
4. 切片类型
- 切片是 Go 特有的数据结构,其内部可以动态增长,类似于其他语言的动态数组。
其它语言实现
C:
- 使用静态或动态数组。例如:
int numbers[5];或使用指针进行动态内存分配。
C++ :
- 可使用 STL 中的
std::vector实现动态数组功能。
Java:
- Java 的 ArrayList 提供了类似的动态数组功能。
5. 函数
在 Go 语言中,函数是基础的代码块,用于执行一系列操作。
一个函数在 Go 语言中通常有以下结构:
func functionName(parameters) returnType {
// function body
}
其中:
func是声明函数的关键字。functionName是函数的名称。parameters是传递给函数的参数列表。returnType是函数返回的类型。如果函数不返回任何值,则可以省略此部分。
函数参数
函数可以有参数,参数允许传递数据给函数。参数列表包含在圆括号 () 中,由参数名和参数类型组成。
例如,定义一个函数,该函数接受两个整数并返回它们的和:
func add(x int, y int) int {
return x + y
}
多参数
你可以传递多个参数到一个函数,每个参数用逗号分隔。如果连续的参数都是相同类型,可以省略除最后一个类型之外的其它类型:
func add(x, y int) int {
return x + y
}
多返回值
Go 语言特有的一个功能是支持从函数返回多个值。每个返回值都需要有自己的类型。
例如,返回一个操作的结果和错误状态:
func divide(x, y float64) (float64, error) {
if y == 0 {
return 0, errors.New("Cannot divide by zero!")
}
return x / y, nil
}
命名返回值
你可以为返回值提供一个名字,当你这样做时,你可以直接使用这些变量,并且在函数的结尾只需使用 return 语句,不需要明确指定返回值:
func split(sum int) (x, y int) {
x = sum * 4 / 9
y = sum - x
return // 只返回,返回值为 x 和 y
}
可变参数
如果你想让一个函数接受可变数量的参数,可以使用 ... 语法:
func sum(nums ...int) int {
total := 0
for _, num := range nums {
total += num
}
return total
}
你可以通过 sum(1, 2, 3, 4) 的方式调用上述函数。
函数作为值和函数类型
在 Go 中,函数也是一种值,并且可以作为其他函数的参数或返回值。此外,你可以定义函数类型,然后使用该类型声明变量。