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. http接口测试工具-Advanced-REST-client

    非常好用的http接口测试工具 相信作为一个java开发人员,大家或多或少的要写或者接触一些http接口.而当我们需要本地调试接口常常会因为没有一款好用的工具而烦恼.今天要给大家介绍一款非常好用.实用 ...

  2. C#开发Office程序

    标题:Office 解决方案开发概述 (VSTO) 地址:https://docs.microsoft.com/zh-cn/visualstudio/vsto/office-solutions-dev ...

  3. springboot Properties加载顺序源码分析

    关于properties: 在spring框架中properties为Environment对象重要组成部分, springboot有如下几种种方式注入(优先级从高到低): 1.命令行 java -j ...

  4. java基础(2)---基本语法

    一.程序注释 二.HelloWorld 三.关键字 四.常量 五.变量 六.标识符: 七.数据类型 数据类型间的转换: (1)自主转换:不需要明确指出所要转化的类型是什么,而是由java虚拟机自动转化 ...

  5. 一、冒泡排序Bubble sort

    https://www.cnblogs.com/kkun/archive/2011/11/23/2260312.html#3824357 #include<iostream> #inclu ...

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

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

  7. WEB知识补充 支付宝 支付

  8. LightOJ - 1179-Josephus Problem(约瑟夫环)

    链接: https://vjudge.net/problem/LightOJ-1179 题意: The historian Flavius Josephus relates how, in the R ...

  9. Spring Data JPA 提供的各种Repository接口作用

    各种Repository接口继承关系: Repository : public interface UserRepository extends Repository<User, Integer ...

  10. 使用jQuery快速高效制作网页交互特效---jQuery选择器

    一.什么是jQuery选择器 Query选择器继承了CSS与Path语言的部分语法,允许通过标签名.属性名或内容对DOM元素进行快速.准确的选择, 而不必担心浏览器的兼容性,通过jQuery选择器对页 ...