var coupus = [][][]string{
{
{
"邀请码是什么",
"我没有邀请码",
"这个邀请码我可以随便填吗",
"邀请码可以填他的手机号吗",
"没有邀请码注册不了吗",
},
{
"你好,邀请码是您推荐人的会员编号,如果您没有推荐人的话,可以选择系统推荐,随意选择一个编号完成注册。",
},
},
{
{
"我要注册账号,从哪里注册",
"从哪注册呀",
"我没有账号得怎么弄",
"我登录不上去呀",
},
{
"没有账号的会员操作时系统会自行跳到登录的页面,登陆页面有用户注册的字样,您可以点击这里进行注册。",
"进入注册页面之后填写您的基本信息,填写推荐人然后完成注册。注册完成之后,需要记住您的会员编号 ,每个会员只有一个,当您推广会员时下级会员需要填写的推荐码就是您的会员编号。",
},
}
  }

要将语料加工处理

方式一:

    list = append(list,
CreateCranialNerve(coupus[][], func(chat *model.Chat, values map[string][]string, neure string) []string {
return coupus[][]
})) list = append(list,
CreateCranialNerve(coupus[][], func(chat *model.Chat, values map[string][]string, neure string) []string {
return coupus[][]
}))

方式二:结果不对,调用f()的时候每次都返回coupus最后一项的[1]值

    for _, v := range coupus {
f := func(chat *model.Chat, values map[string][]string, neure string) []string {
return v[1]
}
a := CreateCranialNerve(v[], f)
list = append(list,a)
}

方式二修正:把v[1]给新的变量测试可以,想法:闭包返回的是对变量v的引用,循环每次都更新的是同一个v

    for _, v := range coupus {
rsp := v[]
f := func(chat *model.Chat, values map[string][]string, neure string) []string {
return rsp
}
a := CreateCranialNerve(v[], f)
list = append(list,a)
}

golang 循环创建闭包 问题排查的更多相关文章

  1. iOS 利用for循环创建九宫格

    // 利用for循环创建九宫格 - (void)createScratchableLatex{ // 总列数 ; // 每一格的尺寸 CGFloat cellW = (self.frame.size. ...

  2. exec族函数详解及循环创建子进程

    前言:之前也知道exec族函数,但没有完全掌握,昨天又重新学习了一遍,基本完全掌握了,还有一些父子进程和循环创建子进程的问题,还要介绍一下环境变量,今天分享一下. 一.环境变量 先介绍下环境的概念和特 ...

  3. python 计算机发展史,线程Process使用 for循环创建 2种传参方式 jion方法 __main__的解释

    ########################总结################## #一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理.调度进程,并且将多个进程对硬 ...

  4. Linux:回收循环创建的多个线程

    上午我说了循环创建多个线程,由于进程与线程是如此的相似,进程我们知道要回收,那么线程也自然要回收啦.我们接着看控制原语: 线程与共享 线程间共享全局变量! [牢记]:线程默认共享数据段.代码段等地址空 ...

  5. Linux 循环创建多个线程

    这里说一下相关的基础知识: 线程概念 什么是线程 LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下)     进程:独立地址空间,拥有PCB     线 ...

  6. 说说循环与闭包——《你不知道的JS》读书笔记(一)

    什么是闭包 <你不知道的JS>里有对闭包的定义:"当函数可以记住并访问所在的词法作用域,即使函数是在当前作用域之外执行,这就产生了闭包." 讲闭包是啥的太多了...就一 ...

  7. PHP 之循环创建文件夹

    /** * 循环创建文件夹 * @param string $dir 需要创建的文件夹路径 * @param integer $mode 文件夹权限 * @return bool 返回创建是否成功 * ...

  8. Golang循环中调用go func参数异常分析

    项目中,需要循环调用API服务器列表,在循环中使用go func创建协程时遇到了参数失灵的现象. 具体代码如下所示: for _, apiServerAddr := range apiServerAd ...

  9. JavaScript中的循环和闭包

    看一段比较经典的错误代码: // 希望获取页面上的所有div,在点击的时输出对应的编号 var oDom = document.querySelectorAll("div"); / ...

随机推荐

  1. CentOS 7的Linux系统优化加固

    1.关闭selinux 2.关闭防火墙 3.关闭NetworkManager 4.为系统运维管理员创建普通用户,并配置sudo(vi  sudo) 5.清空泄漏系统版本信息的文件 6.基础优化sshd ...

  2. Keras Conv1d 参数及输入输出详解

    Conv1d(in_channels,out_channels,kernel_size,stride=1,padding=0,dilation=1,groups=1,bias=True) filter ...

  3. seo与python大数据结合给文本分词并提取高频词

    最近研究seo和python如何结合,参考网上的一些资料,写的这个程序. 目的:分析某个行业(例如:圆柱模板)用户最关心的一些词,根据需求去自动调整TDK,以及栏目,内容页的规划 使用方法: 1.下载 ...

  4. sql 索引的使用 转载:https://www.cnblogs.com/xiaoyangjia/p/11267191.html#mysql_performance

    B-Tree索引的3个限制: 如果不是按照索引的最左列开始查找,则无法使用索引 不能跳过索引中的列.如果联合索引(a,b,c) ,如果使用条件a和c条件查询,那么只能使用索引的第一列a 如果查询中有某 ...

  5. BZOJ2956: 模积和——整除分块

    题意 求 $\sum_{i=1}^n \sum_{j=1}^m (n \ mod \ i)*(m \ mod \ j)$($i \neq j$),$n,m \leq 10^9$答案对 $1994041 ...

  6. 第四章 初始CSS

    一.引入样式 1.行内样式表 <h1 style="color: red;font-size: 18px;">10-30</h1> 2.内部样式表(在hea ...

  7. MongoDB 查看集合是否分片

    MongoDB会把分片过的集合保存在config.collection集合中,若需要查看分片键,则需要根据该集合进行查找.官方的其他很多分片快捷命令也都处于config库 三种方式 1.去config ...

  8. Mongo mongoexport/mongoimport介绍

    一.Mongoexport导出数据 1,导出json数据 mongoexport -d db -c collection -o save-file.dat 2,导出CSV数据 mongoexport ...

  9. BZOJ 1576 树剖+LCT

    题意:给定一张图,保证 $1$ 号点到其他所有点的最短路径是唯一的,求:对于点 $i$,不经过 $1$ 到 $i$ 最短路径上最后一条边的最短路. 题解:可以先建出最短路树,然后枚举每一条非树边. 对 ...

  10. learning svn add file execuable

    svn propset svn:executable on  <file> 为了给svn仓库里的问件添加可执行权限.