Introduction and features of Go language
Go language (or golang) is a statically typed, compiled language developed by Google and was first released in 2009. It is designed to provide efficient performance, high scalability, and a simple and easy-to-use syntax. The Go language is designed for building efficient, reliable, and simple software, especially for large-scale server-side applications.
Features:
Let’s look at a few specific code examples to show some basic features of the Go language:
Example 1: Hello World
package main import "fmt" func main() { fmt.Println("Hello, World!") }
This is a simple Hello World program. Import the fmt package through the import statement, and use the fmt.Println() function to print out "Hello, World!".
Example 2: Concurrent Programming
package main import ( "fmt" "time" ) func printNumbers() { for i := 0; i < 5; i++ { time.Sleep(1 * time.Second) fmt.Printf("%d ", i) } } func main() { go printNumbers() go printNumbers() time.Sleep(6 * time.Second) }
This example shows how to use goroutine to implement concurrent programming. The printNumbers() function prints numbers through a loop, and two goroutines execute the printNumbers() function at the same time. Control the printing time interval through the time.Sleep() function.
Example 3: Using channel communication
package main import ( "fmt" ) func sum(a []int, c chan int) { sum := 0 for _, v := range a { sum += v } c <- sum } func main() { a := []int{1, 2, 3, 4, 5} c := make(chan int) go sum(a[:len(a)/2], c) go sum(a[len(a)/2:], c) x, y := <-c, <-c fmt.Println(x, y, x+y) }
This example shows how to use channels to implement communication between goroutines. Create a slice a in the main function, divide a into two halves and pass them to two goroutines, sum them respectively and pass the results to the main goroutine through the channel for summary output.
In general, the Go language has the characteristics of simplicity, efficiency, and concurrent programming support, making it an excellent programming language, especially suitable for building large-scale distributed systems and high-performance applications. I hope this article can help readers better understand and master the Go language.
The above is the detailed content of Introduction and features of Go language. For more information, please follow other related articles on the PHP Chinese website!