Golang极简入门指南,上手即可开发 Golang是近年来越来越受欢迎的一种编程语言,它结合了C语言的高效性和Python语言的简洁性。本篇文章将为大家介绍Golang的基本语法和常见用法,让大家能够快速掌握这门语言。 一、基本语法 1. 变量声明: var 变量名 类型 对于常见的数据类型,例如int、float、string等,可以使用简写方式: var 变量名 = 值 例如: var message string = "Hello World" var count = 10 2. 函数定义: func 函数名(参数名 参数类型) 返回值类型 { 函数体 } 例如: func add(a int, b int) int { return a + b } 3. 控制流: if-else语句: if 条件 { // 条件为真时执行 } else { // 条件为假时执行 } for循环: for i := 0; i < n; i++ { // 循环体 } switch语句: switch 变量 { case 条件1: // 条件1成立时执行 case 条件2: // 条件2成立时执行 default: // 以上条件都不成立时执行 } 二、常见用法 1. 并发编程 Golang语言非常擅长处理并发编程,它提供了goroutine和channel两个关键词来支持并发编程。 goroutine可以看做是一种轻量级的线程,它可以以非常高效的方式运行在单个CPU上。 channel是Golang语言中的数据结构,它可以用来在goroutine之间传递数据。 下面是一个实例,演示了如何使用goroutine和channel实现并发编程: package main import ( "fmt" "time" ) func worker(id int, jobs <-chan int, results chan<- int) { for j := range jobs { fmt.Println("worker", id, "processing job", j) time.Sleep(time.Second) results <- j * 2 } } func main() { jobs := make(chan int, 100) results := make(chan int, 100) for w := 1; w <= 3; w++ { go worker(w, jobs, results) } for j := 1; j <= 9; j++ { jobs <- j } close(jobs) for a := 1; a <= 9; a++ { <-results } } 2. Web编程 Golang也被广泛应用于Web编程,在这个领域中,它的优势在于高效的处理和响应HTTP请求。 Golang提供了net/http库来处理HTTP请求和响应,下面是一个示例程序,演示了如何使用net/http库搭建一个简单的Web服务器: package main import ( "fmt" "log" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") } func main() { http.HandleFunc("/", handler) log.Fatal(http.ListenAndServe(":8080", nil)) } 3. 数据库编程 Golang也提供了多种数据库驱动程序,可以方便地操作各种类型的数据库。 下面是一个MySQL数据库的示例程序,演示了如何使用Go-MySQL-Driver驱动程序连接MySQL数据库,执行查询和插入操作: package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { // 打开数据库连接 db, err := sql.Open("mysql", "root:password@tcp(127.0.0.1:3306)/test?charset=utf8") if err != nil { panic(err.Error()) } // 查询数据 rows, err := db.Query("SELECT name FROM users WHERE age=?", 18) if err != nil { panic(err.Error()) } for rows.Next() { var name string err = rows.Scan(&name) if err != nil { panic(err.Error()) } fmt.Println(name) } // 插入数据 stmt, err := db.Prepare("INSERT INTO users(name, age) VALUES(?, ?)") if err != nil { panic(err.Error()) } res, err := stmt.Exec("Tom", 20) if err != nil { panic(err.Error()) } id, err := res.LastInsertId() if err != nil { panic(err.Error()) } fmt.Println(id) db.Close() } 三、总结 通过本篇文章,我们了解了Golang的基本语法和常见用法,它的高效性、并发性和简洁性使得它成为了快速开发高性能Web应用程序的首选语言。如果您正在寻找一门新的编程语言,Golang就是一个值得尝试的选择。