首先go-driver-sql的mysql版本,我通过
go get code.google.com/p/go-mysql-driver/mysql
安装失败,貌似是git版本不够新的缘故,不过用不着这么麻烦,直接去github下载源代码即可,解压到/usr/local/go/src/pkg/mysql目录
package main // 导入sql包, 跟java.sql类似的 import "database/sql" import _ "mysql" import "encoding/json" import "fmt" // 定义一个结构体, 需要大写开头哦, 字段名也需要大写开头哦, 否则json模块会识别不了 // 结构体成员仅大写开头外界才能访问 type User struct { User string `json:"user"` Password string `json:"password"` Host string `json:"host"` } // 一如既往的main方法 func main() { // 格式有点怪, @tcp 是指网络协议(难道支持udp?), 然后是域名和端口 db, e := sql.Open("mysql", "root:pwd@tcp(localhost:3306)/mysql?charset=utf8") if e != nil { //如果连接出错,e将不是nil的 fmt.Println("ERROR?") return } // 提醒一句, 运行到这里, 并不代表数据库连接是完全OK的, 因为发送第一条SQL才会校验密码 汗~! _, e2 := db.Query("select 1")//生产环境去掉这句,不然会有内存泄漏 if e2 == nil { fmt.Println("DB OK") rows, e := db.Query("select user,password,host from mysql.user") if e != nil { fmt.Print("query error!!%v\n", e) return } if rows == nil { fmt.Println("Rows is nil") return } for rows.Next() { //跟java的ResultSet一样,需要先next读取 user := new(User) // rows貌似只支持Scan方法 继续汗~! 当然,可以通过GetColumns()来得到字段顺序 row_err := rows.Scan(&user.User,&user.Password, &user.Host) if row_err != nil { fmt.Println("Row error!!") return } b, _ := json.Marshal(user) fmt.Println(string(b)) // 这里没有判断错误, 呵呵, 一般都不会有错吧 } fmt.Println("Done") } else { fmt.Println(e) } }
相关推荐
【Go语言游戏服务器框架——Leaf Server深度解析】 Go语言,以其高效的并发模型、简洁的语法以及优秀的内存管理,已经成为构建高性能网络服务的首选语言之一。在游戏开发领域,尤其是服务器端,Go语言的优势更是...
Zinx利用Golang的goroutine和channel特性,实现高效的并发处理,使得游戏服务器能够轻松应对大量并发连接。同时,其内置的消息处理机制允许开发者自定义消息解析和处理流程,以适应复杂的游戏逻辑。 在MMO游戏...
首先,我们来关注项目所采用的主要编程语言——Go(Golang)。Go语言是由Google开发的一种静态类型的、编译型的、并发型且具有垃圾回收功能的编程语言。它的设计目的是提高软件的开发效率和运行性能。Go语言以其简洁...
1. **Go语言基础**:Go语言,也称为Golang,是由Google开发的一种静态类型的、编译型的、并发型的、垃圾回收的编程语言。它具有简洁的语法和强大的工具链,特别适合于网络服务和并发编程。 2. **Web编程基础**:书...
在实验的`mysql.py`文件中,我们可以推测这是使用Python连接和操作MySQL数据库的一个示例。Python提供了多种方式来访问数据库,如使用标准库`sqlite3`或第三方库如`pymysql`、`mysql-connector-python`等。实验可能...
在游戏开发领域,Go语言的这些特性使得它成为构建高性能服务器的理想选择,尤其是在处理大量并发连接的多人在线游戏中。 Go-Spaceship框架的核心设计理念是模块化和可扩展性。它允许开发者轻松地添加新的游戏逻辑,...
Go 语言的特性使其成为构建这类服务器的理想平台,尤其是它的并发模型——goroutines 和 channels,能够高效地处理大量并发连接,而不会造成过多的系统资源消耗。 1. **Go 语言特性**:Go 语言拥有静态类型和编译型...
本篇文章将深入探讨Go语言中的ORM框架——Go-Go关系持久化,以及其核心特性。 Go-Go关系持久化,简称为Gorp,是一个轻量级的ORM库,旨在简化Go语言与关系型数据库之间的交互。它支持多种数据库,如MySQL、...
首先,Go语言的包管理器——go modules,是官方提供的依赖管理工具。它使得开发者可以轻松地管理和维护项目中的依赖关系,实现版本控制,确保项目在不同的环境中都能正确编译和运行。通过`go mod init`和`go mod ...
本文将详细介绍一个基于Go语言开发的单点登录系统(go-sso),包括其核心功能、技术栈以及如何部署和使用该系统。 #### 二、核心功能 此单点登录系统实现了以下核心功能: 1. **手机号注册**:用户可以通过输入...
3. **服务器编程语言**:Xfire可能使用了各种编程语言来构建其webserver,如C++(因为Xfire客户端就是用C++编写的),或者使用更现代的语言如Python、Java或Go。 4. **数据库集成**:为了存储和检索用户信息、游戏...
在标签中,我们看到了一系列与Go语言相关的技术,如`mysql`(MySQL数据库操作)、`linux`(Linux系统编程)、`shell`(Shell脚本)、`nginx`(Web服务器)以及`golang try-code`(Go代码实践)。这意味着这份资源...
此外,这款IDE还特别支持Go语言的开发,以及MySQL数据库和Web应用的构建,使得开发者可以一站式地处理多种后端技术栈的需求。 【Go语言支持】 Go,又称Golang,是Google推出的一种静态类型、编译型、并发型且具有...
平台选择Golang作为主要编程语言,是因为Go语言具备高性能、轻量级、并发能力强等优点,特别适合构建高并发、低延迟的服务。 “快应用开发”意味着该平台简化了传统应用程序的开发流程,通过提供图形化的界面和预...
这是一个基于CocosCreator、TypeScript、Go语言以及WebSocket技术实现的多人在线游戏——"你画我猜"的毕业设计项目。这个项目展示了如何利用这些技术构建一个实时互动的游戏平台,其中包括客户端的游戏逻辑实现、...
本篇文章将深入探讨一个基于Go语言的轻量级ORM库——"spellsql",它支持多数据库,并且性能表现接近原生的`database/sql`包。 首先,"spellsql"是一个为Go语言设计的ORM框架,它的主要目标是提供一种简单、高效的...
【Go】:Go语言(也称为Golang)是一种高性能、简洁的后端编程语言,适合构建网络服务。在本项目中,Go可能被用来开发服务器端,处理WebSocket连接,实现用户注册、登录,以及房间管理和匹配功能。Go的并发模型使得...
Flike Kingshard,作为一个高性能的MySQL代理,凭借其强大的Go语言支持,为数据库的扩展性和性能提升提供了新的解决方案。本文将深入探讨Flike Kingshard的核心特性和应用场景,帮助读者理解如何利用这个开源项目...
本篇文章介绍了一个专门为Golang设计的ORM库——`zhgo/db`。该库支持多种数据库类型,包括MySQL、MariaDB、PostgreSQL和SQLite3等,并提供了简洁易用的API来执行常见的CRUD(创建、读取、更新、删除)操作。 #### ...
开发者需要了解如何使用WML标签,如`< decks >`, `< card >`, `< go >`, `< input >`等,来构建简洁、易于操作的查询界面。此外,还要考虑到WAP设备的限制,如屏幕尺寸、输入方式和网络速度,确保用户能流畅地进行...