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. ubuntu 使用MySQL Workbench 连接远程云服务器mysql

    前提:我的是腾讯云的服务器,所以需要在安全组开发端口. 配置安全组 1.创建新用户 一般为了安全性,我们不直接使用root用户,而是选择创建一个新用户. 在服务器中,输入  mysql -u root ...

  2. sql基本操作之增删改查

    1. 显示数据库 show databases; show databases; 2. 显示当前数据库 select current_database(); 3. 创建/删除数据库 create da ...

  3. Jenkins管理插件

    1 配置自动更新的镜像 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 系统管理-----插件管理--- ...

  4. IDEA快捷键之关闭标签页和选定单词

    下面所说的快捷键仅作为演示使用,个人可根据喜好自行设置 使用Alt + W 选中某个单词 点击IDEA左上角的File 打开Settings 在左侧点击KeyMap 打开右侧的Editor Actio ...

  5. Tensorflow&CNN:验证集预测与模型评价

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/90480140 - 写在前面 本科毕业设计终于告一段落了.特 ...

  6. sql index改怎么建

    https://stackoverflow.com/questions/11299217/how-can-i-optimize-this-sql-query-using-indexes ------- ...

  7. UML之关系

    学习UML我们首先要掌握他们的关系,UML关系可以分为四类,主要有关联.依赖.泛化和实现. 下面我们就一一来详细说明这几种关系. 关联 表示两个类或类与接口之间强烈的依赖关系,关联用直线表示.当然我们 ...

  8. 03 Spring对Bean的管理

    Spring创建bean的三种方式 1.第一种方式:使用默认构造函数创建 bean.xml <?xml version="1.0" encoding="UTF-8& ...

  9. 多任务5-协程(IO密集型适用)--gevent完成多任务及monkey补丁

    代码: import gevent def f1(n): for i in range(n): print(gevent.getcurrent(),i) gevent.sleep(1) def f2( ...

  10. Mac 升级 Python2.7 到 Python3.5

    1.去 Python 官网下载一个版本的包 https://www.python.org/downloads/mac-osx/ 2.安装之后,去  /Library/Frameworks/Python ...