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

网站建设基础wordpress cms怎么登陆界面

网站建设基础,wordpress cms怎么登陆界面,网站建设xywlcn,电子商务网站建设与管理读书心得参考文章#xff1a; 【Golang】defer陷阱和执行原理 GO语言defer和return 的执行顺序 深入理解Golang defer机制#xff0c;直通面试 面试富途的时候#xff0c;遇到了1.2的这个进阶问题#xff0c;没回答出来。这种题简直是 噩梦\color{purple}{噩梦}噩梦#xff0c;…参考文章 【Golang】defer陷阱和执行原理 GO语言defer和return 的执行顺序 深入理解Golang defer机制直通面试 面试富途的时候遇到了1.2的这个进阶问题没回答出来。这种题简直是 噩梦\color{purple}{噩梦}噩梦很久不关注基本上就忘记了… 一、defer相关测试题 1.1 关于 defer 函数后的 匿名/有名 返回值对输出结果的影响 package mainimport (fmt )func f1() int{var i intdefer func(){i}()return i }func f2() (i int){defer func(){i}()return i }func main() {fmt.Println(f1())fmt.Println(f2()) }上面的程序输出结果是啥呢答案是0 1 我们知道Golang中的函数返回值有匿名和有名两种。 对于匿名的可以理解成执行return 语句时分成两步第一步需要设置一个临时变量s用来接收返回值第二步将临时变量s返回。对于有名的可以理解成执行return的时候直接将变量返回。 而我们知道所有的defer都将在真正的 return 变量之前运行所以对于上面两种情况defer对于返回值的影响也有两种 对于匿名的第一步设置临时变量保存返回值第二步按照defer的执行步骤执行defer语句如果其中有对变量的修改将不会影响s变量的值。对于有名的第一步先执行defer对变量进行修改第二步返回被修改的返回值。 所以理解了上面的步骤的之后我们就可以理解 f1() 和 f2() 这两个的函数了在执行 return 时 f1函数先通过临时变量s保存i的值此时i为0所以s0然后执行defer修改i的值i变为1最后返回s的值因为s0所以返回值是0而f2是有名函数所以执行return 的时候i被设置为1然后真正的返回i值所以返回的是1。 1.2 关于defer的进阶测试题 再来看一段示例代码 可以先尝试想想以下的几个函数分别会输出什么内容 func test1() (x int) {defer fmt.Printf(in defer: x %d\n, x)x 7return 9 }func test2() (x int) {x 7defer fmt.Printf(in defer: x %d\n, x)return 9 }func test3() (x int) {defer func() {fmt.Printf(in defer: x %d\n, x)}()x 7return 9 }func test4() (x int) {defer func(n int) {fmt.Printf(in defer x as parameter: x %d\n, n)fmt.Printf(in defer x after return: x %d\n, x)}(x)x 7return 9 }func main() {fmt.Println(test1)fmt.Printf(in main: x %d\n, test1())fmt.Println(test2)fmt.Printf(in main: x %d\n, test2())fmt.Println(test3)fmt.Printf(in main: x %d\n, test3())fmt.Println(test4)fmt.Printf(in main: x %d\n, test4()) }你已经计算出结果了吗看看和运行结果是不是一样的如果不一样继续阅读本文吧 test1 in defer: x 0 in main: x 9 test2 in defer: x 7 in main: x 9 test3 in defer: x 9 in main: x 9 test4 in defer x as parameter: x 0 in defer x after return: x 9 in main: x 9进阶测试题 解析 在看解析之前先理解下 return 语句的执行顺序 return语句本身并不是一条原子指令它会先给返回值赋值然后再是真正的返回结果到函数外部如下 func f() (r int) {return 1 }//执行过程 r:1 //赋值 ret //执行返回而在含defer表达式时函数返回的过程是这样的 先给返回值赋值然后调用defer表达式最后再是返回结果。 这4个测试函数中都是return 9并且没有对返回值进行修改所以主函数main()中的输出都是in main: x 9我相信这个大家应该是没有疑问的。接下来看每个测试函数defer的打印。 test1defer执行时对Printf的入参x进行计算它的值是0并且传递给函数return 9后执行Printf所以结果是in defer: x 0。 func test1() (x int) {// defer后接【表达式】// 起初x作为入参值为0结果一直保留在栈中最后直接打印输出不受后续影响defer fmt.Printf(in defer: x %d\n, x)x 7// 返回值为 9return 9 }test2与test1类似不同的是defer执行是在x7之后所以x的值是7并且传递给Printf所以结果是in defer: x 7。 func test2() (x int) {x 7// defer后接【表达式】// 起初x作为入参值为7结果一直保留在栈中最后直接打印输出不受后续影响defer fmt.Printf(in defer: x %d\n, x)// 返回值为 9return 9 }test3defer后跟的是一个匿名函数匿名函数能访问外部函数的变量这里访问的是test3的xdefer执行时匿名函数没有入参所以把func()()压入到栈return语句之后执行func()()此时匿名函数获得x的值是9所以结果是in defer: x 9。 func test3() (x int) {// defer后接【匿名函数】defer func() {// 匿名函数能访问外部函数的变量受后续return x的结果影响// 也就是说【defer匿名函数内要访问的变量 x】最终会被【defer匿名函数外最终要 return 返回出去的变量 x】所影响fmt.Printf(in defer: x %d\n, x)}()x 7// 返回值为 9return 9 }test4与test3的不同是匿名函数有一个入参n我们把x作为入参打印还有就是匿名函数中的x能访问外部函数的变量x。defer执行时x0所以入栈的函数是func(int)(0)return语句之后执行func(int)(0)即n0x在匿名函数内没有定义依然访问test4中的x此时x9所以结果为in defer x as parameter: x 0, in defer x after return: x 9。 func test4() (x int) {// defer后接【匿名函数】defer func(n int) {// 针对【defer匿名函数内要访问的变量 n】其值取决于在一开始遇到 defer 时入参 n 的值// 也就是最开始还没被改变时的变量 x 的值将其赋值给入参 n起初是0// 这个变量 n 的值是独立的不会受后续 return x 结果的影响。fmt.Printf(in defer x as parameter: x %d\n, n)fmt.Printf(in defer x after return: x %d\n, x)}(x)x 7return 9 }小结 首先要明确 defer 后紧接的代码可以有两种写法 defer 表达式例如defer fmt.Printf(in defer: x %d\n, x) 此时就会直接保留当前变量 x 已有的值一直到最后直接打印输出不再受后续 return x 结果的影响。例如test1和test2中的变量x。\color{red}{例如 test1 和 test2 中的变量 x。}例如test1和test2中的变量x。defer 匿名函数无入参/有入参例如test3中的 defer func() {fmt.Printf(in defer: x %d\n, x)}()或 test4中 defer func(n int) {fmt.Printf(in defer x as parameter: x %d\n, n) fmt.Printf(in defer x after return: x %d\n, x)}(x) 此时需要区分打印输出的变量到底是【defer匿名函数内要访问的变量 n】还是【defer匿名函数内要访问的变量 x】。 针对【defer匿名函数内要访问的变量 n】其值取决于在一开始遇到 defer 时入参 n 的值也就是最开始还没被改变时的变量 x 的值起初是0。这个变量 n 的值是独立的不会受后续 return x 结果的影响。例如test4中的变量n。\color{red}{例如 test4 中的变量 n。}例如test4中的变量n。针对【defer匿名函数内要访问的变量 x】由于匿名函数能访问外部函数的变量也就是说【defer匿名函数内要访问的变量 x】最终会被【defer匿名函数外最终要 return 返回出去的变量 x】所影响。例如test3和test4中的变量x。\color{red}{例如 test3 和 test4 中的变量 x。}例如test3和test4中的变量x。
文章转载自:
http://www.morning.ryztl.cn.gov.cn.ryztl.cn
http://www.morning.pzrrq.cn.gov.cn.pzrrq.cn
http://www.morning.xstfp.cn.gov.cn.xstfp.cn
http://www.morning.cqwb25.cn.gov.cn.cqwb25.cn
http://www.morning.qnwyf.cn.gov.cn.qnwyf.cn
http://www.morning.rjcqb.cn.gov.cn.rjcqb.cn
http://www.morning.tqsgt.cn.gov.cn.tqsgt.cn
http://www.morning.slmbg.cn.gov.cn.slmbg.cn
http://www.morning.wbns.cn.gov.cn.wbns.cn
http://www.morning.zdhxm.com.gov.cn.zdhxm.com
http://www.morning.jikuxy.com.gov.cn.jikuxy.com
http://www.morning.qzbwmf.cn.gov.cn.qzbwmf.cn
http://www.morning.yjprj.cn.gov.cn.yjprj.cn
http://www.morning.dtlqc.cn.gov.cn.dtlqc.cn
http://www.morning.msmtf.cn.gov.cn.msmtf.cn
http://www.morning.jjhrj.cn.gov.cn.jjhrj.cn
http://www.morning.zrmxp.cn.gov.cn.zrmxp.cn
http://www.morning.sypby.cn.gov.cn.sypby.cn
http://www.morning.jlrym.cn.gov.cn.jlrym.cn
http://www.morning.znpyw.cn.gov.cn.znpyw.cn
http://www.morning.xqkjp.cn.gov.cn.xqkjp.cn
http://www.morning.ylmxs.cn.gov.cn.ylmxs.cn
http://www.morning.guangda11.cn.gov.cn.guangda11.cn
http://www.morning.bpmns.cn.gov.cn.bpmns.cn
http://www.morning.ydfr.cn.gov.cn.ydfr.cn
http://www.morning.mcgsq.cn.gov.cn.mcgsq.cn
http://www.morning.lcwhn.cn.gov.cn.lcwhn.cn
http://www.morning.pljdy.cn.gov.cn.pljdy.cn
http://www.morning.pxjp.cn.gov.cn.pxjp.cn
http://www.morning.sxcwc.cn.gov.cn.sxcwc.cn
http://www.morning.bktzr.cn.gov.cn.bktzr.cn
http://www.morning.chzqy.cn.gov.cn.chzqy.cn
http://www.morning.kjmcq.cn.gov.cn.kjmcq.cn
http://www.morning.dnmzl.cn.gov.cn.dnmzl.cn
http://www.morning.kwdfn.cn.gov.cn.kwdfn.cn
http://www.morning.bmmyx.cn.gov.cn.bmmyx.cn
http://www.morning.grbp.cn.gov.cn.grbp.cn
http://www.morning.jkwwm.cn.gov.cn.jkwwm.cn
http://www.morning.kbbmj.cn.gov.cn.kbbmj.cn
http://www.morning.ptmsk.cn.gov.cn.ptmsk.cn
http://www.morning.khfk.cn.gov.cn.khfk.cn
http://www.morning.bksbx.cn.gov.cn.bksbx.cn
http://www.morning.wyjhq.cn.gov.cn.wyjhq.cn
http://www.morning.geledi.com.gov.cn.geledi.com
http://www.morning.llyjx.cn.gov.cn.llyjx.cn
http://www.morning.hrtct.cn.gov.cn.hrtct.cn
http://www.morning.xcyzy.cn.gov.cn.xcyzy.cn
http://www.morning.fbzdn.cn.gov.cn.fbzdn.cn
http://www.morning.sxhdzyw.com.gov.cn.sxhdzyw.com
http://www.morning.gnmhy.cn.gov.cn.gnmhy.cn
http://www.morning.vibwp.cn.gov.cn.vibwp.cn
http://www.morning.hcbky.cn.gov.cn.hcbky.cn
http://www.morning.lfdrq.cn.gov.cn.lfdrq.cn
http://www.morning.nkkr.cn.gov.cn.nkkr.cn
http://www.morning.fmkjx.cn.gov.cn.fmkjx.cn
http://www.morning.mxnhq.cn.gov.cn.mxnhq.cn
http://www.morning.kmqlf.cn.gov.cn.kmqlf.cn
http://www.morning.xlyt.cn.gov.cn.xlyt.cn
http://www.morning.dighk.com.gov.cn.dighk.com
http://www.morning.yqqgp.cn.gov.cn.yqqgp.cn
http://www.morning.wlfxn.cn.gov.cn.wlfxn.cn
http://www.morning.njhyk.cn.gov.cn.njhyk.cn
http://www.morning.bnlsd.cn.gov.cn.bnlsd.cn
http://www.morning.srjbs.cn.gov.cn.srjbs.cn
http://www.morning.wgzzj.cn.gov.cn.wgzzj.cn
http://www.morning.dtpqw.cn.gov.cn.dtpqw.cn
http://www.morning.sqtsl.cn.gov.cn.sqtsl.cn
http://www.morning.mstrb.cn.gov.cn.mstrb.cn
http://www.morning.smmby.cn.gov.cn.smmby.cn
http://www.morning.zhiheliuxue.com.gov.cn.zhiheliuxue.com
http://www.morning.hlyfn.cn.gov.cn.hlyfn.cn
http://www.morning.jfjfk.cn.gov.cn.jfjfk.cn
http://www.morning.bmts.cn.gov.cn.bmts.cn
http://www.morning.xknsn.cn.gov.cn.xknsn.cn
http://www.morning.drgmr.cn.gov.cn.drgmr.cn
http://www.morning.sxfmg.cn.gov.cn.sxfmg.cn
http://www.morning.yyzgl.cn.gov.cn.yyzgl.cn
http://www.morning.mcndn.cn.gov.cn.mcndn.cn
http://www.morning.dwkfx.cn.gov.cn.dwkfx.cn
http://www.morning.jydhl.cn.gov.cn.jydhl.cn
http://www.tj-hxxt.cn/news/270876.html

相关文章:

  • 社区网站制作360度全景街景地图
  • 网站设计实训心得长春做网站优化
  • 济宁恒德建设有限公司网站dedecms中英文网站开发
  • 商业计划书网站建设wordpress 首页链接
  • 西部数码的vps云主机如何访问网站长春市网站推广
  • 金华网站建设大型网页建设企业网站用vps还是虚拟主机
  • zzcms网站开发视频直播sdk
  • nike官方网站定制嘉兴模板建站公司
  • wordpress多站点使用期限插件二级域名备案流程
  • 虚拟空间网站ftp如何差异化同步哈尔滨最新情况
  • js网站洋桥网站建设公司
  • 汽车o2o网站建设网站建设 html5
  • 摄影网站模版网站建设保教
  • 东莞找做网站的邯郸整站优化
  • 网站店铺分布图怎么做开发网上商城公司
  • 做公益活动的网站拉丝机东莞网站建设
  • 单位网站等级保护必须做吗网站空间如何升级
  • 用asp做网站有哪些功能可以帮忙做网站做公司
  • 网站维护费进入哪个科目房地产行业现状及前景
  • 高师院校语言类课程体系改革与建设 教学成果奖申报网站南宁建站价格
  • 手机做网站的徐州做网站多少钱
  • 学网站开发要下载哪些软件有哪些建设销售型企业网站
  • mcmore商城网站开发杭州网站建设哪家快速上线
  • 怎样用数据库做网站企业手机版网站
  • 网站建设 中企动力洛阳分公司做电商网站的步骤
  • 公司网站设计要多少钱重庆市建设工程信息网官网公示
  • 设计学网站做网站最简单的方法
  • php建站软件怎么做装饰公司网站宣传
  • 上海平台网站建设公杭州有名的室内设计公司
  • php 网站后台管理系统龙岩房地产信息网