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

广州环保网站建设网站建设中哪些最重要

广州环保网站建设,网站建设中哪些最重要,搜索引擎优化是指什么,东城网站开发公司程序中编写的函数在编译阶段会被编译成一段段的指令存放在可执行文件中#xff0c;在程序运行阶段这些内存会加载到虚拟地址空间的代码段。 当函数A调用了函数B的时候#xff0c;对应的会生成一条call指令#xff0c;程序在运行到call指令时就会跳转到对应的B函数的代码段的…程序中编写的函数在编译阶段会被编译成一段段的指令存放在可执行文件中在程序运行阶段这些内存会加载到虚拟地址空间的代码段。 当函数A调用了函数B的时候对应的会生成一条call指令程序在运行到call指令时就会跳转到对应的B函数的代码段的方法入口。每个函数最后还有一条ret指令用于在函数执行结束时跳回到调用处。 函数的栈空间一般从栈基bp开始到栈顶sp结束。从bp到sp依次存储了 1.调用者栈基地址 caller bp 2.局部变量 3.返回值 4.参数 函数的运行需要一些关键信息包括局部变量、参数、返回值等等。这些信息存放在内存栈中。栈空间的数据后进先出比如上面A调用B会先加载A需要的信息到栈内再调用到B时加载B需要的信息到栈内B执行完后将B用到的信息弹出栈。 call指令会将下一条指令的地址入栈及A栈帧后面接了一条返回地址信息然后跳转到被调用函数入口出执行所以栈空间内会入栈B函数的栈帧 现在栈空间内依次为 A栈帧-返回地址-B栈帧 程序运行时每个函数的栈布局都遵守统一的约定所以被调用者可以通过栈指针偏移量定位到特定的参数和返回值。 return关键字并不是原子性的先是将返回值赋值然后执行defer函数在返回返回值 例1 func func1(a int) int {defer func() {a}()areturn a } func main() {a : func1(0)fmt.Println(a) // 输出1 }a参数a1执行return将1赋值给返回值空间此时返回值为1执行defer将参数a此时a2但返回值空间依然为1函数调用结束返回1 再看一段代码 func func1(a int) (b int) {defer func() {ab}()areturn a } func main() {a : func1(0)fmt.Println(a) // 输出2 }a参数a1执行return将1赋值给返回值空间此时返回值为1执行defer将参数a此时a2然后将返回值b此时b2调用结束返回2 理解了函数调用时数据的分配就可以理解上面的问题。 另一个关键点是指针参数问题 func func1(a *int) {defer func() {*a}()*areturn } func main() {a : 0func1(a)fmt.Println(a) // 输出2 }golang中方法都是值传递但是传递的值是指针类型里面存放的是数据的地址。 下面看一下引用类型的例子 func func1(a []int) {a[0] 1return } func main() {a : []int{0}func1(a)fmt.Println(a) // 输出[1] }这段代码中 调用func1时传递的是slice类型的参数slice类型是引用的底层数据所以func1改变数据底层数据时main中的局部变量a也受到了改变。 func func1(a []int) {a append(a, 1, 2, 3)return } func main() {a : []int{0}func1(a)fmt.Println(a) // 输出[0] }这段代码因为func1对a执行了append触发了slice的扩容底层开辟了一个新的数组并重新引用了新的数组所以原数组没有受到影响。
http://www.dnsts.com.cn/news/214033.html

相关文章:

  • 品牌网站策划书广州地铁站路线图
  • 做传奇网站怎么弄的wordpress 提示-1
  • 鞍山做网站专业公司设计签名免费纯手工签名
  • 福建省龙岩市新罗区建设局网站小兵cms个人网站模板
  • 分类网站开发肇庆市公共资源交易中心
  • 鄂州网站设计制作学校网站建设培训方案
  • 建站公司哪家好 知道万维科技山西又增一例在忻州
  • 微信网站服务器要求qq网站建设
  • 企业如何对自己的网站进行建设百度seo最成功的优化
  • 网站建设过程中需要注意的通用原则页面设计分析
  • 手机网站注意哪些问题吗建设网站个人银行
  • 视频付费点播网站怎么做网站分站系
  • 临沂网站建站专业公司网站建设教程最新资讯
  • 一个网站的后台怎么做西安紧急通知
  • 加强网站内容建设的意见汕头网络推广平台
  • 通用集团网站模板官方网站车联网是谁做
  • 建个站的免费网站能上百度吗中国最牛的设计公司
  • 文昌建设局网站dedecms使用教程
  • 网站抓取压力高建设银行官方网站手机版
  • 金融行业seo整站优化建设项目流程八个阶段
  • 肥城市住房和城乡建设局网站郑州七彩网站建设公司
  • 兰甘肃网站建设网站建设柒首先金手指8
  • 万维网网站服务的名称怎样设置网站访问权限
  • 卡盟网站制作教程东莞搜索网络优化
  • 域名注册成功后怎么使用网站通州网站建设多少钱
  • 网站维护都是一些什么公司wordpress删除管理站点链接
  • 中国建设银行官方网站下载推广app最快的方法
  • iis 添加网站茂名建设局网站
  • 10m网站空间网站建设公司下载
  • 建设网站有哪些步骤深圳做自适应网站