提示信息

Go 语言基础语法

邪魅 已关注

Go 语言是由谷歌开发的一种静态强类型、编译型的开源编程语言。它在语法上借鉴了 C 语言,同时也吸收了诸如垃圾回收、内存安全等现代编程语言的特性。以下是 Go 语言的基础语法介绍:

1. 程序结构

一个简单的 Go 程序结构如下:

  1. package main
  2. import "fmt"
  3. func main() {
  4. fmt.Println("Hello, World!")
  5. }
  • package main: 定义一个可独立执行的包,main 包是一个特殊的包,它定义了一个可执行的程序。
  • import "fmt": 导入 fmt 包,fmt 是格式化 I/O 的标准库。
  • func main(): 定义程序的入口点,main 函数。

2. 变量

Go 使用 var 关键字定义变量,类型名写在变量名之后:

  1. var a int
  2. var b string

你也可以在声明时初始化变量:

  1. var a int = 10
  2. var b string = "Hello"

如果你省略类型,Go 会根据赋值自动推导类型:

  1. var a = 10
  2. var b = "Hello"

使用短变量声明,可以在函数内部使用 := 声明和初始化变量:

  1. a := 10
  2. b := "Hello"

3. 常量

常量使用 const 关键字声明:

  1. const Pi = 3.14

4. 数据类型

Go 语言的基本类型包括:

  • 布尔型:bool
  • 整型:int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr
  • 浮点型:float32, float64
  • 复杂数:complex64, complex128
  • 字符串:string
  • 字符:rune (等同于 int32)
  • 字节:byte (等同于 uint8)

5. 结构体

结构体是用户自定义的复杂数据类型:

  1. type Person struct {
  2. Name string
  3. Age int
  4. }

6. 数组和切片

数组:

  1. var arr [5]int

切片(动态数组):

  1. var slice []int
  2. slice = append(slice, 1, 2, 3)

7. 映射(Map)

映射是键值对的集合:

  1. var m map[string]int
  2. m = make(map[string]int)
  3. m["key"] = 10

8. 控制结构

Go 支持经典的控制结构:ifforswitch

  1. // if
  2. if a > 5 {
  3. fmt.Println("a is greater than 5")
  4. }
  5. // for
  6. for i := 0; i < 10; i++ {
  7. fmt.Println(i)
  8. }
  9. // switch
  10. switch day {
  11. case 1:
  12. fmt.Println("Monday")
  13. case 2:
  14. fmt.Println("Tuesday")
  15. default:
  16. fmt.Println("Another day")
  17. }

9. 函数

函数可以有多个返回值:

  1. func add(x int, y int) int {
  2. return x + y
  3. }
  4. func swap(a, b string) (string, string) {
  5. return b, a
  6. }

10. 指针

Go 支持指针,每个变量在内存中有一个地址:

  1. var a int = 10
  2. var p *int = &a
  3. fmt.Println(*p) // 通过指针读取变量的值

通过这些基础语法,您可以在 Go 语言中构建简单和复杂的应用程序。由于 Go 强调并发性和友好的语法,它在构建网络服务和处理并发任务方面非常高效。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
邪魅 关注 已关注

最近一次登录:2024-11-20 09:30:04   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图