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

哪个网站可以做中国代购百度做广告费用

哪个网站可以做中国代购,百度做广告费用,网站建设pc指什么,网站怎么做短信接口文章目录 一、一句话总结二、作用域分类1. 局部变量(函数内/块内变量)1.1、语法说明1.2、示例 2. 全局变量(包级变量)2.1、语法说明2.2、示例:全局变量的访问 3. 形式参数(函数参数) 三、作用域…

文章目录

    • 一、一句话总结
    • 二、作用域分类
      • 1. 局部变量(函数内/块内变量)
        • 1.1、语法说明
        • 1.2、示例
      • 2. 全局变量(包级变量)
        • 2.1、语法说明
        • 2.2、示例:全局变量的访问
      • 3. 形式参数(函数参数)
    • 三、作用域嵌套与变量查找规则
    • 四、注意事项

一、一句话总结

  • 局部变量:大括号内出生,大括号外死亡,子能看父,父不能看子
  • 全局变量:包内随处可见,大写可跨包,小写仅限当前包。
  • 同名变量:子作用域覆盖父作用域,就近原则优先。

 

二、作用域分类

1. 局部变量(函数内/块内变量)

1.1、语法说明
  • 定义位置:函数内部、if/for/switch 等语句块内。
  • 作用范围:仅在声明它的块内有效,块结束后变量被销毁。
  • 特点
    • 父作用域 不能访问子作用域的变量
    • 子作用域 可以访问父作用域的变量
    • 子作用域可声明与父作用域同名的变量,局部覆盖全局

 

1.2、示例

示例1:父作用域无法访问子作用域变量

func main() {{ // 子作用域(块1)var localVar = "我是块1的变量" // 仅在块1内有效fmt.Println(localVar) // 输出:我是块1的变量}// fmt.Println(localVar) // 报错!块1外无法访问 localVar
}

 
示例2:子作用域访问父作用域变量

func main() {parentVar := "我是父作用域变量" // 父作用域(main函数){ // 子作用域(块2)fmt.Println(parentVar) // 可以访问,输出:我是父作用域变量var childVar = "我是块2的变量"}// fmt.Println(childVar) // 报错!块2外无法访问 childVar
}

 
示例3:局部变量覆盖全局变量

var globalVar = "全局变量" // 全局作用域func main() {fmt.Println(globalVar) // 输出:全局变量{ // 子作用域(块3)globalVar := "局部变量" // 与全局变量同名,局部覆盖全局fmt.Println(globalVar) // 输出:局部变量(仅块3内有效)}fmt.Println(globalVar) // 回到父作用域,输出:全局变量(未被修改)
}

 

2. 全局变量(包级变量)

2.1、语法说明
  • 定义位置:函数外部,直接在包(.go 文件)中声明。
  • 作用范围
    • 在当前包的所有函数中有效。
    • 若变量名首字母大写,可被其他包导入使用(Go 的包可见性规则)。
  • 特点
    • 全局变量相当于所有函数的“父作用域变量”,函数内部可直接访问。
    • 生命周期与程序一致(程序启动时创建,退出时销毁)。

 

2.2、示例:全局变量的访问
package mainimport "fmt"// 全局变量(首字母小写,仅限当前包使用)
var appName = "Go程序"func printAppName() {fmt.Println("应用名称:", appName) // 函数内可直接访问全局变量
}func main() {printAppName() // 输出:应用名称: Go程序
}

 

3. 形式参数(函数参数)

  • 定义位置:函数定义的参数列表中(如 func funcName(param int))。
  • 作用范围:仅在函数体内有效,相当于函数的“局部变量”。
  • 特点
    • 参数是函数的“输入变量”,调用时需传入对应值。
    • 不同函数的参数名可重复,互不影响。
func add(a, b int) int { // a、b 是形式参数(函数的局部变量)return a + b
}func main() {var a = 10 // main函数的局部变量result := add(a, 20) // 传入值,函数内的a与main的a是不同变量fmt.Println(result) // 输出:30
}

 

三、作用域嵌套与变量查找规则

当变量在多层嵌套作用域中同名时,Go 会按以下规则查找:

  1. 先查当前作用域:是否有声明该变量?
  2. 再查外层作用域:从内到外,逐层向上查找,直到找到第一个声明的变量。
  3. 若全局作用域也没有:编译报错(变量未声明)。

示例:多层嵌套中的变量覆盖

var x = "全局x" // 全局变量func main() {x := "main层x" // main函数的局部变量(覆盖全局x)fmt.Println(x) // 输出:main层x{x := "块内x" // 块内局部变量(覆盖 main层x)fmt.Println(x) // 输出:块内x{fmt.Println(x) // 输出:块内x(最近的声明)}}fmt.Println(x) // 输出:main层x(回到 main函数作用域)
}

 

四、注意事项

  1. 变量声明规则

    • 同一作用域内,变量不能重复声明(包括全局和局部)。
    • 未使用的变量会导致编译错误(Go 强制要求变量必须使用)。
  2. 包级作用域 vs 文件作用域

    • 全局变量的作用域是包级(整个包内可见),而非单个文件。
    • 不同文件属于同一包时,可共享全局变量(需注意包导入路径)。
  3. 避免滥用全局变量

    • 全局变量可能导致代码耦合度高、难以调试(如多个函数修改同一全局变量)。
    • 优先使用局部变量和函数参数,确保逻辑清晰。
http://www.dtcms.com/wzjs/238131.html

相关文章:

  • 扁平化网站后台深圳全网推互联科技有限公司
  • html网站开头怎么做的百度快照在哪里
  • 湖南省人民政府网站是谁做的软件外包网站
  • 自己做的网站怎么被搜索出来百度浏览器下载安装2023版本
  • 留学中介网站建设方案seo实战密码第三版pdf下载
  • 专门做ppt的网站叫什么广告软文代理平台
  • 十大电梯广告公司seo搜索优化专员
  • 湖北硕丰建设有限公司网站个人微信管理系统
  • 东昌府区网站建设公司电商运营公司排名
  • app网站的电话是什么百度seo推广优化
  • 专业做装修的网站青岛网站推广关键词
  • 湖南省住房与城乡建设厅网站必应搜索引擎入口
  • 苏州网站建设老板重庆seo网站
  • 南宁做网站优化比较火的推广软件
  • 品牌网站制作简创网络百度热搜关键词排名优化
  • 番禺网站设计与制作推销产品怎么推广
  • 郑州网站建设公司排行搜索seo
  • 简单的网站怎么做的百度百科优化排名
  • wordpress theme珠宝朝阳区seo搜索引擎优化介绍
  • 一站建设个人网站账号权重查询
  • 临沂市建设局的网站济南网络推广网络营销
  • wordpress ckplay播放百度快照优化推广
  • 一级a做爰片免费网站体验百度seo关键词排名 s
  • 网站怎么做才算精致百度一下百度搜索百度一下
  • 新网站域名备案流程seo品牌
  • 湖南手机网站建设公司企业员工培训内容及计划
  • 深圳网站导航电商网络销售是做什么
  • 想办个网站怎么做厦门人才网手机版
  • 广州网站设计联系方式营销型网站的类型有哪些
  • 上海政府网站建设报告百度一下百度搜索入口