近期,V语言更新到了0.1.18版本,更新详情可以查看链接:V语言更新日志
查看源码可以发现vlib文件夹中新增了mysql模块,快来试试水吧。
话不多说,先放码:
import mysql fn main(){ // 创建mysql链接,参数依次为host user_name password db_name db:=mysql.connect('localhost','root','123456','test') res:=db.query('select * from user') // 程序退出前 释放资源 关闭链接 defer { res.free() db.close() } rows:=res.rows() for r in rows{ println('r===:'+r.vals.str()) // 这里r.vals是[]string类型 } }
编译后运行,输出结果如下:
r===:["1", "123456", "999999", "1537368668689"] r===:["2", "234567", "888888", "1537368699000"]
现有问题记录:
- macOS上编译会报错找不到<mysql.h>头文件,这是由于macOS上读取头文件路径特殊导致。解决办法是将mysql相关头文件(不要光复制mysql.h,需要复制的是mysql.h文件所在目录的所有文件)复制一份到
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
- connect和query方法目前实现比较粗糙,遇到错误程序直接退出,应该返回(Optional/Result)类型让调用者捕获错误并处理接下来的逻辑;端口号参数也不允许自定义。
目前V语言mysql处于开发阶段,所以作者也没有写进0.1.18版本的更新日志中,现存问题后续作者会修复。
另,备受期待的UI模块也正在紧锣密鼓开发中,调用示例已经出来了,相信很快会实现。调用示例链接:
效果图: