日期:2014-05-16  浏览次数:20481 次

windows 安装Go 环境 搭建Mysql数据库连接

在linux 上做go 环境搭建 已经可以了。并且 连接上了 mysql 数据库。

?

但是 开发 还是 在windows 上面的比较多。所以要研究下 windows 下如何弄 。

?

需要使用一个?mingw 的环境 。 要使用make 命令

?

?

官网:?http://www.mingw.org/

?

下载

?

http://sourceforge.net/projects/mingw/files/

?

安装:

?


?



?安装 基本编译环境。

?


开始下载文件。

?

然后下载 golang windows 版本:

?

http://code.google.com/p/gomingw/downloads/list?

?

一定要 386的版本。。即使你是 64 位系统。因为 在make 编译 mysql的时候发现 需要 386 的编译命令 “8g”

?

下载? gowin386_release.r60.3.zip?

?

设置 环境变量:

?



?
?下载 ?GoMysql

?

?

https://github.com/Philio/GoMySQL

?

然后进入 GoMysql 使用?mingw 命令行?

?

最重要的 两步 !!

?

执行 ?

?

make

make install

?



然后 进入 安装 eclipse 插件。

?

设置路径:

?


?

创建一个工程编写如下代码:

?

?

package main

import "fmt"
import "os"
import "mysql"

func main() {
	fmt.Print("hell")
	// Connect to database
	db, err := mysql.DialTCP("127.0.0.1", "root", "root", "stock")
	if err != nil {
		fmt.Print("conn error")
		os.Exit(1)
	}
	// Perform query
	err = db.Query("select stock_id,stock_code,stock_name from stock")
	if err != nil {
		fmt.Print("query error")
		os.Exit(1)
	}
	// Get result seta
	result, err := db.UseResult()
	if err != nil {
		os.Exit(1)
	}
	// Get each row from the result and perform some processing
	for {
		row := result.FetchRow()
		if row == nil {
			break
		}
		//id := row[0].(uint64)
		num, str1, str2 := row[0].(int64), row[1].(string), row[2].(string)
		fmt.Println(" out:", num, str1, str2)

	}
}

?

修改了下代码。显示数据库记录:

?

数据库表结构:

?

?

CREATE TABLE `stock` (
  `stock_id` int(11) NOT NULL AUTO_INCREMENT,
  `stock_code` varchar(10) NOT NULL,
  `stock_name` varchar(20) NOT NULL,
  PRIMARY KEY (`stock_id`)
) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=gbk 
?

?含义 连接 mysql 数据库 stock 查询 ?表 stock 查询 出 2条记录 打印 2 个 hello。

?

?


?

成功在 eclipse 里面 编译 打印信息。测试成功。非常高兴。

?

?

?

基本上 使用 golang 编写的程序 接近 c 。速度非常的快。并且 好好的利用 chan 函数编程可以写些 并发高的 服务程序。

?

?

继续研究 golang 语言。

?

?

搭建windows 主要目的是 可以再windows 下面开发。主要 部署程序还是在linunx 下面进行。运行效率要高。

?

?