培训首页  >  web前端新闻  >  兄弟连区块链培训Go语言之连接mysql

兄弟连区块链培训Go语言之连接mysql

[2018-08-28 14:55:33] 浏览量:60 来源:

北京兄弟连IT

  Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。

 

  兄弟连Go语言+区块链培训课程共计22周学习时长,划分为9个学习阶段,即区块链主流语言-Go语言开发实战、区块链后端技术体系-Go语言高并发和服务器开发、Go开发区块链公链(区块链密码学、分布式编程、共识算法、基本概念,Golan公链开发)、eth与智能合约与DAPP开发、区块链分布式应用开发、区块链系统框架开发-超级账本与区块链3.0EOSGo与区块链面试强化和高级企业级项目实战。

 

package main

 

// 导入sqljava.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() { //javaResultSet一样,需要先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)

    }

}

高能预警,兄弟连教育区块链直播课程8月持续火爆来袭!

原价1188元的12节区块链进阶课程,现仅需1元!

还可免费领取《Go语言基础实战项目开发》与《Go语言高级实战项目开发》教材两本!!限时限量!!先到先得!!


关注兄弟连区块链技术公众号领取更多技术干货哦!!!


文中图片素材来源网络,如有侵权请联系删除
  • 软件开发
  • 软件测试
  • 数据库
  • Web前端
  • 大数据
  • 人工智能
  • 零基础
  • 有HTML基础
  • 有PHP基础
  • 有C语言基础
  • 有JAVA基础
  • 其他计算机语言基础
  • 周末班
  • 全日制白班
  • 随到随学

网上报名

热门信息