如何在golang中使用结构指针

如何在golang中使用结构指针,go,Go,我正在尝试用gin post和get request做一个简单的golang,其他的一切都很好,除了应该在struct变量中的值是空的这一部分之外,如果我没有很好地解释的话,下面的例子就是bellow 我的代码(主) 我的代码(控制器) 我的代码数据库客户端 package db_client import ( "database/sql" //"time" _ "github.com/go-sql-driver/mys

我正在尝试用gin post和get request做一个简单的golang,其他的一切都很好,除了应该在struct变量中的值是空的这一部分之外,如果我没有很好地解释的话,下面的例子就是bellow 我的代码(主)

我的代码(控制器)

我的代码数据库客户端

package db_client

import (
    "database/sql"
    //"time"
    _ "github.com/go-sql-driver/mysql"
)

var DBClient *sql.DB

func InitialiseDBConnection(){
    //[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
    db, err := sql.Open("mysql","root:2580@tcp(localhost:3306)/grabit?parseTime=true")
    if err != nil {
        panic(err.Error())
    }
    err = db.Ping()
    if err != nil {
        panic(err.Error())
    }

    DBClient = db
}


现在,当我使用postman insert new row时,它会插入一个只有id、没有标题或描述的空行,当我尝试获取时,我会得到一个空数组,请问问题是什么,我是golang的新手

您需要在struct字段中大写值的第一个字符

例如:

type Book struct {
  ID     uint   `json:"id" gorm:"primary_key"`
  Title  string `json:"title"`
  Author string `json:"author"`
}

您需要在struct字段中大写值的第一个字符

例如:

type Book struct {
  ID     uint   `json:"id" gorm:"primary_key"`
  Title  string `json:"title"`
  Author string `json:"author"`
}

需要使用大写字母,因为如果不使用它,只能在同一个包中看到

大写字母=见所有包装


普通字母=仅在同一软件包中查看(例如:此处仅显示控制器)

需要使用大写字母,因为如果不使用它,则只能在同一软件包中查看

大写字母=见所有包装

普通字母=仅在同一包中查看(例如:此处仅限控制器)

使用结构

如果字段或方法名称以大写字母开头,则会导出该成员,并且可以在包外部访问该成员

如果字段或方法以小写字母开头,则该成员未报告,并且在包之外没有可访问性

注意:为了在golang json包中执行诸如封送、取消封送等操作,您需要有字段名,字段名应该以大写字母开头。因为它使用内部反射进行处理。

使用结构

如果字段或方法名称以大写字母开头,则会导出该成员,并且可以在包外部访问该成员

如果字段或方法以小写字母开头,则该成员未报告,并且在包之外没有可访问性

注意:为了在golang json包中执行诸如封送、取消封送等操作,您需要有字段名,字段名应该以大写字母开头。因为它使用内部反射进行处理

type Book struct {
  ID     uint   `json:"id" gorm:"primary_key"`
  Title  string `json:"title"`
  Author string `json:"author"`
}