golang基础语法视频教程

发布时间:2024-11-05 22:03:07

Go语言入门教程

Go语言是一种开源的编程语言,由谷歌公司推出。它以其简洁、高效和并发性等特点而备受开发者的喜爱。本文将为你介绍Go语言的基础语法。

变量声明与赋值

在Go语言中,变量的声明与赋值是一步完成的。例如我们要声明一个整数类型的变量age并赋值为18:

var age int = 18

我们也可以使用短变量声明的方式来声明变量:

age := 18

函数

Go语言中的函数使用关键字func进行声明,以下是一个示例:

func add(a, b int) int {
    return a + b
}

我们可以通过调用函数来获取返回值:

result := add(3, 5)

条件语句

Go语言中的条件语句包括if语句和switch语句:

// if语句示例
if age >= 18 {
    fmt.Println("成年人")
} else {
    fmt.Println("未成年人")
}

// switch语句示例
switch day {
case "Monday":
    fmt.Println("星期一")
case "Tuesday":
    fmt.Println("星期二")
default:
    fmt.Println("其他")
}

循环语句

Go语言中的循环语句有for循环和range循环:

// for循环示例
for i := 0; i < 5; i++ {
    fmt.Println(i)
}

// range循环示例
nums := []int{1, 2, 3, 4, 5}
for index, num := range nums {
    fmt.Println(index, num)
}

数组与切片

在Go语言中,数组和切片是常用的数据结构。数组的长度是固定的,而切片可以动态增长。

// 声明数组
var nums [5]int

// 声明切片
nums := []int{1, 2, 3, 4, 5}

// 切片操作
slice := nums[:3] // 获取前三个元素

结构体与方法

Go语言支持面向对象编程的特性,其中结构体用于定义自定义类型,方法用于给类型绑定相应的行为。

type Person struct {
    Name string
    Age  int
}

func (p Person) SayHello() {
    fmt.Println("Hello, my name is", p.Name)
}

func main() {
    person := Person{"Alice", 20}
    person.SayHello()
}

并发编程

Go语言的并发模型基于协程(goroutine)和通道(channel)。以下是一个简单的并发示例:

func worker(id int, jobs <-chan int, results chan<- int) {
    for j := range jobs {
        fmt.Println("worker", id, "started job", j)
        time.Sleep(time.Second)
        fmt.Println("worker", id, "finished job", j)
        results <- j * 2
    }
}

func main() {
    numJobs := 5
    jobs := make(chan int, numJobs)
    results := make(chan int, numJobs)

    for w := 1; w <= 3; w++ {
        go worker(w, jobs, results)
    }

    for j := 1; j <= numJobs; j++ {
        jobs <- j
    }
    close(jobs)

    for r := 1; r <= numJobs; r++ {
        fmt.Println(<-results)
    }
}

总结

本文介绍了Go语言的基础语法,包括变量声明与赋值、函数、条件语句、循环语句、数组与切片、结构体与方法以及并发编程等内容。通过学习这些基础知识,你可以开始使用Go语言进行开发。

相关推荐