当前位置: 首页 > news >正文

网站建立需要多久网店美工的意义与发展

网站建立需要多久,网店美工的意义与发展,wordpress 插件 简码 使用,做网站引流题目一#xff1a;单元测试中使用—打桩 打桩概念#xff1a;使用A替换 原函数B#xff0c;那么A就是打桩函数打桩原理#xff1a;运行时#xff0c;通过一个包#xff0c;将内存中函数的地址替换为桩函数的地址打桩操作#xff1a;利用Patch#xff08;#xff09;函…题目一单元测试中使用—打桩 打桩概念使用A替换 原函数B那么A就是打桩函数打桩原理运行时通过一个包将内存中函数的地址替换为桩函数的地址打桩操作利用Patch函数将调用外部依赖等函数数据库等依赖函数替换为自己写的函数这样就是实现了不对外部数据的一个强依赖最简单的用法官方解释Monkey’s API is very simple and straightfoward. Call monkey.Patch(, ) to replace a function. For example: package mainimport (fmtosstringsbou.ke/monkey )func main() {monkey.Patch(fmt.Println, func(a ...interface{}) (n int, err error) {s : make([]interface{}, len(a))for i, v : range a {s[i] strings.Replace(fmt.Sprint(v), hell, *bleep*, -1)}return fmt.Fprintln(os.Stdout, s...)})fmt.Println(what the hell?) // what the *bleep*? }下面是对一个io文件的mock示例文件为外部依赖存在不稳定性质因此使用mock package testimport (bou.ke/monkeybufiogithub.com/stretchr/testify/assertosstringstesting )func readFirstLine() string {open, err : os.Open(file.txt)defer open.Close()if err ! nil {return }scanner : bufio.NewScanner(open)for scanner.Scan() {return scanner.Text()}return }func replaceLine() string {line : readFirstLine()afterReplace : strings.ReplaceAll(line, 11, 00)return afterReplace }func TestReplace(t *testing.T) {monkey.Patch(readFirstLine, func() string { //注意是readFirstLine函数名而不是readFirstLinereturn line11})defer monkey.Unpatch(readFirstLine) // 注意是readFirstLine函数名而不是readFirstLineres : replaceLine()assert.Equal(t, line00, res) } 题二defer、recovery、panic执行顺序 准则panic当前函数的下一行代码不会被执行到当 panic 被触发后Go 语言的运行时机制会开始查找当前函数以及调用栈上的所有 defer 函数然后依次执行它们。在这个过程中如果某个 defer 函数中使用了 recover 函数那么 recover 就可以捕获到之前触发的 panic 异常恢复程序的正常执行流程从引发 panic 的函数返回继续执行后续代码,注意是直接在panic那里returnpanic当前函数的下面的代码依然不会被执行但是其他后续代码可以执行并且 recover 会返回 panic 时传递的参数在这里就是 “触发一个异常” 这个字符串可以在 defer 函数中根据返回值进行相应的处理比如打印异常信息等。 package mainimport fmtfunc inner() {defer func() {if r : recover(); r! nil {fmt.Printf(inner函数中的defer通过recover捕获到异常异常信息: %v\n, r)}}()panic(inner函数中触发异常)defer fmt.Println(这一行代码直接不会被执行) }func outer() {defer func() {fmt.Println(outer函数中的defer执行了)}()inner() }func main() {fmt.Println(程序开始执行)outer() //其中发生了panic如果没有recovery下面的代码将不再执行fmt.Println(outer函数调用结束后继续执行main函数后面的代码) }
http://www.hkea.cn/news/14344113/

相关文章:

  • 宁波学校网站建设衡水网站建设一多软件
  • 怎么建网站做淘宝客做仿制网站
  • 集团网站建设服务查询建筑资质的网站
  • 东莞网站建设 喷砂机网站建设框架模板
  • 网站提供入口wordpress for unity
  • vps建两个网站要两个程序池吗推广计划有几种状态
  • 专业网站建设多少钱深圳龙华怎么样
  • 最好网站建设公司制作平台dede网站底部
  • 专业做模具钢的网站郑州网站开发网站开发
  • 宁夏建设厅网站领导seo数据监控平台
  • 给网站做seo的必要性网络营销的一般流程
  • 做的比较好的猎头网站wordpress zhuce邮件
  • 怎么写网站建设的说明书wordpress post攻击
  • 网站支付宝接口付费网站建设完成之后要索取哪些
  • 电子商务网站建设与维护试卷答案wordpress 缺省目录
  • 临沂专业做网站安徽观元建设有限公司网站
  • 网站会员体系方案青海百度关键词seo
  • 保定网站优化招聘wordpress单选框
  • 滁州网站设计重庆平台网站建设工作
  • 新年祝福语在线制作网站做门户网站cms
  • 宏信网络网站建设国家电网交流建设分公司网站
  • seo网站快速wordpress编辑远程图片
  • 网站建设任职图片网站建设
  • 阿里巴巴跟建设网站的区别保定网站设计多少钱
  • 怎么看网站文章的收录上海软件培训网站建设
  • 电子商务网站预算深圳网页设计兴田德润放心
  • 丰县建设局规划局网站零食网页制作素材
  • 什么是网站建设从哪些方面建设网站办公室设计布局
  • 新公司 做网站 流程人力资源网站建设
  • 深圳网站制作比较好公司毕业设计做网站要求