GO 语言初探 – 在 CentOS7 上安装 Go 语言
Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。
在 CentOS 上安装 go 语言就是一条简单的 yum install golang 命令。
Go 语言的开发环境按照项目的 src 和 bin 目录,分开存放。有两个主要的路径的环境变量:
GOPATH 指向 go 语言 的工作目录,该目录下设置 src 子目录,和 bin 子目录。
GOBIN 一般指向 $GOPATH/bin
我们在 $GOPATH/src/helloworld 目录下,创建 hello.go 文件如下:
package main
import “fmt”
func main() {
fmt.Printf(“你好!hello, world\n”)
}
然后在任意目录(该目录要能找到 hello.go)下运行: go install helloworld/hello.go ,go 语言将在 $GOBIN 下生成编译好的 hello 文件。
如果 $GOBIN 已经在你的执行路径下,即你运行过:export PATH=$PATH:$GOBIN,
那么在任意目录下,你都可以敲入 hello,会执行已经编译好的 hello.go 的输出。
作为全栈 Web 工程师,一个语言不能连接 MySQL 数据库肯定不是好语言。接下来我们看看 Go 语言怎么连接 MySQL。
第一步:
$ go get github.com/go-sql-driver/mysql
然后就会看到新的目录:$GOPATH/src/github.com/go-sql-driver/mysql,以及该目录下的一批文件。
下面我们在 $GOPATH/src/helloworld 下创建一个 mysql-test.go 文件如下:
package main
import (
“database/sql”
“fmt”
_ “github.com/go-sql-driver/mysql”
)
func main() {
db, err := sql.Open(“mysql”, “dbuser:dbpass@/dbname”)
if db == nil {
return
}
rows, err := db.Query(“select user_login,user_email from wp_users limit 0,5”)
if err != nil {
fmt.Println(err.Error())
return
}
defer rows.Close()
fmt.Println(“”)
cols, _ := rows.Columns()
for i := range cols {
fmt.Print(cols[i])
fmt.Print(“\t”)
}
fmt.Println(“”)
var user_login string
var user_email string
for rows.Next() {
if err := rows.Scan(&user_login, &user_email); err == nil {
fmt.Print(user_login)
fmt.Print(“\t”)
fmt.Print(user_email)
fmt.Print(“\t\r\n”)
}
}
}
如果你拷贝粘贴以上代码,有点乱的话, go 语言提供了 gofmt 命令可以自动排版。
gofmt -w mysql-test.go 就会把新排版的文件覆盖到 mysql-test.go 上。
接下去就是直接 go install mysql-test.go 。运行 mysql-test 即可看到从数据库里取出来的数据了。