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 下面进行。运行效率要高。

 

 

本文来自:开源中国博客

感谢作者:xoxoxo

查看原文:windows 安装Go 环境 搭建Mysql数据库连接

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。