日期:2014-05-16 浏览次数:20487 次
在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 下面进行。运行效率要高。
?
?