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

上海发布最新消息今天成都百度seo搜索引擎优化培训

上海发布最新消息今天,成都百度seo搜索引擎优化培训,wordpress自製插件,找人做app网站吗文章目录 1、包2、本质3、init函数4、匿名函数5、闭包 1、包 不同的包#xff0c;不同的功能和业务#xff0c;互相import 关于包#xff1a; package 包名注意点#xff1a; 建议包名和所在文件夹同名 main函数一定要放在main包下#xff0c;否则编译报错 go run不同的功能和业务互相import 关于包 package 包名注意点 建议包名和所在文件夹同名 main函数一定要放在main包下否则编译报错 go runcannot run non-main package导入包是 //从$GOPATH/src/后开始计算 import 包的路径//一次性导入多个 import(fmtgocode/testproject01/unit5/demo09/crm/dbutils )函数调用时定位到所在的包 一个目录下不能有重复的函数 包名和文件夹的名字可以不一样。但同一个目录下的源文件包名的声明必须一致。即你这个随便起了个aaa那同文件夹下的其他go文件的包名也就是aaa了 给包取别名后原来的包名不可再使用 2、本质 go里面包的实质 在程序层面所有使用相同 package 包名 的源文件组成的代码模块在源文件层面就是一个文件夹 3、init函数 包的初始化函数做一些初始化操作每个go的源文件都可以包含一个init函数init函数的执行是在main函数被执行前被Go自己的运行框架调用 执行时机全局变量的定义 init函数 main函数 多个源文件都有init函数的时候从main包的import开始依次执行导入的包的init函数。当然如果被导入的包里也有在导入别的包那就像函数调用一样A ⇒ B ⇒ C ⇒ D ,D函数执行完再退回去 ⇒ C ⇒ B ⇒ A 4、匿名函数 如果某个函数只希望调用一次可用go的匿名函数 如上再定义匿名函数的时候直接调用如此就能保证匿名函数只被调用一次。如果需要被多次调用可将匿名函数赋值给一个变量但不常用了想多次调可直接去定义个普通函数 最后如果想要一个匿名函数可以在整个函数中被调用那就赋值给一个全局变量 package main import fmtvar Func01 func (num1 int,num2 int) int{return num1 * num2 }func main(){ result : Func01(3,4)fmt.Println(result) } 5、闭包 闭包即一个函数和起引用的环境组合的一个整体。 package main import fmt //函数功能求和 //函数的名字getSum 参数为空 //getSum函数返回值为一个函数这个函数的参数是一个int类型的参数返回值也是int类型 func getSum() func (int) int {var sum int 0return func (num int) int{sum sum num return sum} } //闭包返回的匿名函数匿名函数以外的变量num func main(){f : getSum()fmt.Println(f(1))//1 fmt.Println(f(2))//3fmt.Println(f(3))//6fmt.Println(f(4))//10 }运行 1 3 6 10可以看到匿名函数中用到了函数以外的变量sum它两形成闭包。且 匿名函数中引用的那个变量会一直保存在内存中可以一直使用 闭包本质依旧是一个匿名函数只是这个函数引入外界的变量/参数 匿名函数引用的变量/参数 闭包 闭包的特点 返回的是一个匿名函数但是这个匿名函数引用到函数外的变量/参数 ,因此这个匿名函数就和变量/参数形成一个整体构成闭包闭包中使用的变量/参数会一直保存在内存中所以会一直使用 ⇒ 意味着闭包不可滥用对内存消耗大 闭包应用场景闭包可以保留上次引用的某个值 Demo package main import fmt //函数功能求和 //函数的名字getSum 参数为空 //getSum函数返回值为一个函数这个函数的参数是一个int类型的参数返回值也是int类型 func getSum() func (int) int {var sum int 0return func (num int) int{sum sum num return sum} } //闭包返回的匿名函数匿名函数以外的变量num func main(){f : getSum()fmt.Println(f(1))//1 fmt.Println(f(2))//3fmt.Println(f(3))//6fmt.Println(f(4))//10fmt.Println(----------------------)//不用闭包fmt.Println(getSum01(0,1))//1fmt.Println(getSum01(1,2))//3fmt.Println(getSum01(3,3))//6fmt.Println(getSum01(6,4))//10 }func getSum01(sum int,num int) int{sum sum numreturn sum } //不使用闭包的时候我想保留的值不可以反复使用 //闭包应用场景闭包可以保留上次引用的某个值我们传入一次就可以反复使用了如上不用闭包想达到和上面闭包一样去共用某个值就很麻烦。
http://www.pierceye.com/news/233497/

相关文章:

  • 句容市建设工程管理处网站wordpress联系表格
  • 电商网站建设流程新能源汽车价格一览表
  • 实验室网站建设的调查报告海报设计图片手绘图
  • 征求网站建设买正品东西哪个网最好
  • 网站建公司生存响应式网站特点
  • 关于公司建设网站的意义网站后台html页面
  • 麻花星空影视传媒制作公司网站朋友帮忙做网站 费用多少
  • 海口网站建设呢做健身推广网站
  • 哈尔滨网站搜索优化苏州网站建设主页
  • 35互联网站建设怎么样设计工作室宣传文案
  • php做的网站如何该样式云服务器产品介绍
  • 个人网站建设论文绪论上海it公司有哪些
  • 建设网站推广广告图郑州妇科医院哪家好些
  • 自己网站wordpress主题怎么wordpress 功能块
  • 网站制作咨询电话网站建设技术员分为前端 后端
  • 9元建站节建材 团购 网站怎么做
  • 河南城乡住房和建设厅网站公司微信网站建设方案模板下载
  • 西安制作公司网站的公司邯郸市三建建筑公司网址
  • 网站建设工作目标惠州网站网站建设
  • 就业创业网站建设微信app下载安装旧版本
  • 沧州网站备案年栾洪全单页做网站教程
  • 网站开发的疑虑做门窗投标网站
  • 小型企业门户网站源码如何使用wordpress制作网站
  • 深圳网络营销网站建设北京建设网证书查询平台官网
  • 广播电台网站建设板块自己做网站导航页
  • 网站ui设计兼职android开发工具箱
  • 网站导航网站开发建设公司自己的网站
  • 网站建设专业的公司哪家好优秀创意网站
  • wordpress 文件目录seo网站关键词排名软件
  • 网站管理员功能wordpress增加购物车