博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
golang函数传参中可变参数和切片相互转化
阅读量:2493 次
发布时间:2019-05-11

本文共 667 字,大约阅读时间需要 2 分钟。

可能遇到的一个问题(以golang操作mysql为例):

sqlStr := "insert into securitymanager.tests(id,name) values (?,?)"   //要执行的sql语句gg := []interface{
}{
1, "sd"} //要插入的数据的slice//应该准备执行db.Exec(query string,args ...interface{})

执行一个插入操作。Exec要求传入的是可变参数。而我们只有要插入数据的一个切片

这时候应该怎么处理呢,参考如下:

func main() {
DBInit() db := DBPool() sqlStr := "insert into securitymanager.tests(id,name) values (?,?)" gg := []interface{
}{
1, "sd"} _, err := db.Exec(sqlStr, gg...) if err != nil {
fmt.Println(err) }}

以fmt包为例再举一个例子:

package mainimport (	"fmt")func main() {
qq := []interface{
}{
"DSd", "fds"} hh(qq)}func hh(arg []interface{
}) {
fmt.Printf("%v,%v", arg...)}

转载地址:http://cbbrb.baihongyu.com/

你可能感兴趣的文章
数据结构和算法6-非线性-图
查看>>
数据结构和算法7-搜索
查看>>
数据结构和算法8-排序
查看>>
windows缺少dll解决办法
查看>>
JPA多条件动态查询
查看>>
JPA自定义sql
查看>>
BigDecimal正确使用了吗?
查看>>
joplin笔记
查看>>
JNDI+springmvc使用
查看>>
vue+springboot分页交互
查看>>
vue+springboot打包发布
查看>>
XSL 开发总结
查看>>
beta阶段第六次scrum meeting
查看>>
SpringBoot+MybatisPlus实现批量添加的两种方式
查看>>
vue 设计结构
查看>>
Sqlerver2005+按照ID分组取前几条
查看>>
Python的编码和解码
查看>>
docker
查看>>
停车场系统安全岛设计施工要求
查看>>
Docker实战
查看>>