Go 语言一些自己理解的小知识 | 青训营

59 阅读4分钟

Go语言(又称Golang)是一种由Google开发的静态类型、编译型的高级编程语言。它以简洁、高效和并发性强的设计特点而受到广泛关注。本文将从基础语法和常用特性两个方面进行解析,帮助读者快速掌握Go语言的基本知识。

一、基础语法

Hello, World! 让我们先从经典的Hello, World!开始:

package main

import "fmt"

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

保存后,使用命令行工具进入保存该文件的目录,并输入"go run hello.go"命令即可运行该程序,输出结果为"Hello, World!"。 以上代码展示了一个最简单的Go程序。package main表示这是一个可执行程序的包,import "fmt"引入了fmt包,用于输出信息。func main()是程序的入口函数,其中的fmt.Println()用于打印输出。

变量声明与赋值:

Go语言的变量声明与赋值非常简洁明了,Go语言使用var关键字声明和定义变量,可以指定变量类型,也可以使用类型推导自动推断变量类型。

var a int = 10      //声明一个整数变量a并赋予初始值10的写法

var a int          // 声明一个int类型变量a,默认值为0

var b string = "Go" // 声明一个string类型变量b,赋值为"Go"

c := 3.14          // 声明一个float64类型变量c,自动推断为浮点数类型

a := 10

数据类型:

Go语言支持多种基本数据类型,包括整型、浮点型、布尔型、字符串等。此外,Go语言还提供了复合数据类型如数组、切片、映射、结构体等

条件语句与循环: Go语言的条件语句和循环语句与其他编程语言类似,其中包括if、if-else、for、switch等。以下是一些简单的例子:

if x > 0 {
   fmt.Println("x is positive")
} 
else if x < 0 {
    fmt.Println("x is negative")
} 
else {
fmt.Println("x is zero")
}
func main() {
    num := 10

    if num%2 == 0 {
        fmt.Println("偶数")
    } else {
        fmt.Println("奇数")
    }
    for i := 0; i < 5; i++ {
        fmt.Println(i)
    }
switch num {
    case 1:
        fmt.Println("数字为1")
    case 2:
        fmt.Println("数字为2")
    default:
        fmt.Println("其他数字")
    }
}

二、常用特性解析

函数和方法

Go语言中的函数使用func关键字定义,可以有多个参数和返回值。示例代码如下:

func add(x, y int) int {
  return x + y
   }
func (r Rectangle) Area() int {
    return r.length * r.width
}

第一个示例演示了一个简单的函数add,它接收两个int类型的参数,并返回它们的和。第二个示例展示了一个方法Area,该方法是Rectangle结构体的成员方法,并返回矩形的面积。

并发编程:

Go语言内置支持并发编程,通过轻量级线程模型goroutine和通信机制channel实现。你可以使用关键字"go"启动一个goroutine,并使用channel进行不同goroutine之间的通信。 并发编程 Go语言内置了强大的发编程支持,以goroutine和channel为核心。示例代码如下:

func main()
 {
    ch := make(chan string)
    go func() {
        ch <- "Hello, World!"
    }()
    msg := <-ch
    fmt.Println(msg)
}

以上代码展示了一个简单的并发程序。通过make函数创建一个channel(通道),然后使用go关键字启动一个goroutine,在goroutine中将字符串发送到通道中。在主函数中,使用<-操作符接收通道中的数据,并打印输出。

包管理: Go语言使用包(package)来组织代码,每个Go源码文件都属于一个包。通过使用关键字"import"引入其他包,可以重用已经编写好的代码。 包管理和导入 Go语言使用模块(module)来管理代码,每个项目都是一个模块。使用import关键字导入其他模块的功能。例如:

import (
    "fmt"
    "math/rand"
)

以上代码展示了如何导入fmtmath/rand两个模块。

总结: 本文简单介绍了Go语言的基础语法和常用特性。通过代码示例,演示了Hello, World!、变量声明、条件语句、循环结构、函数和方法、并发编程以及包管理和导入等内容。通过学习这些内容,能够通过本文快速入门Go语言,并掌握其基本知识,能够编写简单的程序,为进一步深入学习打下坚实的基础。建议进一步深入学习Go语言的并发编程、标准库以及与其他语言的对比等内容,来提升Go语言应用开发能力。