只自学golang
更新时间:2023-12-26第一段:Golang的概述
Go语言是Google公司研发的一种开源编程语言,于2009年11月首次亮相,并在2012年发布了1.0版本。它被设计成一种快速、简洁、安全和易于使用的编程语言。Go语言的特性包括协程、垃圾收集以及静态链接等,它在Web服务器、分布式系统和微服务中得到广泛应用。
package main import "fmt" func main() { fmt.Println("Hello, World!") }
第二段:Golang的基础语法
Go语言的基础语法类似于C语言,它具有变量、常量、函数、运算符、控制结构等基本元素。变量需要先声明后使用,常量的值在编译时就能确定,函数具有参数和返回值等特性,运算符包括算术运算符、关系运算符和逻辑运算符等,控制结构包括if语句、switch语句和for循环等。Go语言还有一些特别的语法,如defer关键字、go关键字和panic、recover函数等。
package main import "fmt" func main() { var name string = "John" age := 25 const pi float32 = 3.14 fmt.Printf("My name is %v\n", name) fmt.Printf("I am %v years old\n", age) fmt.Printf("The value of pi is %v\n", pi) }
第三段:Golang的面向对象
Go语言虽然是一种结构化的编程语言,但是也支持面向对象的编程。它通过struct来实现数据封装,通过method来实现行为的封装,并支持interface来实现多态的特性。Go语言中的面向对象有一些独特的特点,如没有class、没有继承和虚函数等,它使用composition和interface来实现类的功能。
package main import "fmt" type Person struct { name string age int } func (p Person) SayHello() { fmt.Printf("My name is %v and I am %v years old\n", p.name, p.age) } func main() { var p1 Person = Person{"John", 25} p1.SayHello() }
第四段:Golang的并发编程
Go语言支持并发编程,它使用goroutine来实现并发执行,使用channel来实现数据共享和通信。同步和互斥的机制也得到了很好的支持。通过并发编程,Go语言能够轻易地实现高并发、不阻塞的程序,支持分布式系统和分布式计算。
package main import ( "fmt" "sync" ) func printInOrder(wg *sync.WaitGroup, id int, ch chan int) { defer wg.Done() num := <-ch fmt.Printf("Goroutine %v: %v\n", id, num) if id == 3 { close(ch) } else { ch <- num + 1 } } func main() { var wg sync.WaitGroup ch := make(chan int, 1) ch <- 1 for i := 1; i <= 3; i++ { wg.Add(1) go printInOrder(&wg, i, ch) } wg.Wait() }