现代语言-Go语言入门01

Go的前世今生

Go语言(也称为Golang)是由Google开发的一种编程语言,其发展历程可以概括如下:

起源(2007年-2009年):

Go语言的发展始于2007年,由Google的Robert Griesemer、Rob Pike和Ken Thompson共同设计。他们的目标是创建一种简单、高效、可靠的编程语言,以解决一些传统语言的局限性。
2009年11月,Google发布了Go语言的开源版本。
Go 1发布(2012年):

2012年3月,Go 1.0版本发布,这是Go语言的首个稳定版本。发布了稳定的语言规范和API,表明Go语言已经准备好用于生产环境。
生态系统的发展(2012年至今):

自Go 1发布以来,Go语言的生态系统不断壮大。社区中涌现出了大量的库、框架和工具,以支持各种应用开发需求。
Go语言在云计算、大数据、网络服务等领域得到广泛应用,如Docker、Kubernetes等项目就是用Go语言开发的。
版本更新(2012年至今):

Go语言持续进行版本更新和改进,每年发布数个小版本,增加新功能、改进性能和稳定性,并修复Bug。这有助于保持Go语言的现代性和竞争力。
社区的发展(2012年至今):

数据类型

Go语言的基本数据类型包括以下几种:

整数类型(integers):

int:平台相关的有符号整数类型,大小与机器字长相同。
int8、int16、int32、int64:有符号整数类型,分别占用8、16、32、64位。
uint:平台相关的无符号整数类型,大小与机器字长相同。
uint8、uint16、uint32、uint64:无符号整数类型,分别占用8、16、32、64位。
uintptr:用于存放指针的整数类型。
浮点数类型(floating-point numbers):

float32:32位浮点数类型。
float64:64位浮点数类型。
复数类型(complex numbers):

complex64:由32位实部和32位虚部组成的复数类型。
complex128:由64位实部和64位虚部组成的复数类型。
布尔类型(boolean):

bool:表示真或假。
字符串类型(string):

string:表示一串字符序列。
字符类型(rune):

rune:表示Unicode码点,等价于int32。
错误类型(error):

error:表示错误状态的接口类型。
除了上述基本数据类型,Go语言还有以下两种复合数据类型:

数组类型(arrays):

array:固定长度的、由相同类型元素组成的数据结构。
切片类型(slices):

slice:动态长度的、可以按需增长或缩减的序列。
此外,Go语言还提供了以下两种特殊类型:

函数类型(functions):

func:表示函数类型。
接口类型(interfaces):

interface:表示方法的集合,用于定义对象的行为。

变量声明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package main

import "fmt"

/*
* 声明变量的几种方式
*/
func main() {

// 方式一:声明不初始化, 默认值为0
var a int
fmt.Println("a = ", a)
fmt.Printf("type of a = %T\n", a)
fmt.Println("----------------------")

// 方式二:声明初始化一个变量
var b int = 100
fmt.Println("b = ", b)
fmt.Printf("type of b = %T\n", b)
fmt.Println("----------------------")

// 方式三: 省略类型,进行初始化
var c = 100
fmt.Println(c)
fmt.Println("c = ", c)
fmt.Printf("type of c = %T\n", c)
fmt.Println("----------------------")

// 方式四: 省略声明,直接匹配
d := 100
fmt.Println("d = ", d)
fmt.Printf("type of d = %T\n", d)
fmt.Println("----------------------")

// 声明多个变量
var xx, yy int = 100, 200
fmt.Println("xx = ", xx, ",", "yy=", yy)
fmt.Println("----------------------")

// 多行变量声明
var (
vv int = 100
jj bool = true
)
fmt.Println("vv=", vv, "jj=", jj)
}


现代语言-Go语言入门01
https://www.eldpepar.com/coding/64581/
作者
EldPepar
发布于
2024年3月13日
许可协议