根据文档,在Go中从数据库中获取数据的唯一方法似乎是使用Rows.Scan(),这意味着您必须在编译时知道所有列的计数和类型。我错过了什么吗?您应该如何支持临时查询?或者甚至从将来可能更改的表中提取所有列? 最佳答案 sql.Rows类型有一个Columns方法,该方法将为您提供结果列名称的列表。这可用于确定未知查询的列数。在Scan方法的文档中,它说:Ifanargumenthastype*[]byte,Scansavesinthatargumentacopyofthecorrespondingdata.Thecopyisowne