程序开发 · 2023年12月17日

“运行时错误:无效的内存地址或零指针取消引用”创建表

当前位置: > > > > “运行时错误:无效的内存地址或零指针取消引用”创建表

来源:stackoverflow
2024-04-22 17:36:31
0浏览
收藏

哈喽!今天心血来潮给大家带来了《“运行时错误:无效的内存地址或零指针取消引用”创建表》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我正在尝试使用 go 1.11 和 postgres。

package db

import (
    "database/sql"
    _ "github.com/lib/pq" //database connector
    g "app/globalvariables"
)

func createtable(tid int) {
s := "create table someschema.sometable" + string(tid) + "(id serial primary key,...);"
    db, _ := sql.open("postgres", "user="+g.db_user+" dbname="+g.db_name+" sslmode=disable")
    defer db.close()
    q, _ := db.prepare(s)
    q.exec()
}

测试函数时我得到:

panic: runtime error: invalid memory address or nil pointer dereference [recovered]
    panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x51d46a]

它可能是什么?

解决方案

我错误地用“string”将整数转换为字符串。我必须使用 strconv.Iota。

今天关于《“运行时错误:无效的内存地址或零指针取消引用”创建表》的内容介绍就到此结束,如果有什么疑问或者建议,可以在公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!