zoukankan      html  css  js  c++  java
  • 代码块、作用域

    程序实体的访问权限有三种:包级私有的、模块级私有的和公开的

    代码块的作用就是限制了程序实体的作用域。

    例子1:

    package main
    
    import "fmt"
    
    var name = "sixinshuier"
    
    func main() {
    	name := "in main"
    	{
    		name := "in block"
    		fmt.Println(name)
    	}
    	fmt.Println(name)
    }
    

    运行结果:

    D:GoWorkspacesrcpolarismain>go run test1.go
    in block
    in main
    

    例子2:

    package main
    
    import "fmt"
    
    var name = "sixinshuier"
    
    func main() {
    	//name := "in main"
    	{
    		name := "in block"
    		fmt.Println(name)
    	}
    	fmt.Println(name)
    }
    

    运行结果:

    D:GoWorkspacesrcpolarismain>go run test1.go
    in block
    sixinshuier
    

    结论:

    1、代码块中变量的查找,首先会找当前代码块,依次向上找,找不到就报错

    import .

    如果我们把代码包导入语句写成import . "XXX"的形式(注意中间的那个“.”),那么就会让这个“XXX”包中公开的程序实体,被当前源码文件中的代码,视为当前代码包中的程序实体。

    重名变量、变量重声明

    重名变量:就是对变量的重命名

    变量重声明:变量重声明是对同一个变量的多次声明,这里的变量只有一个

  • 相关阅读:
    Base64 编解码
    MFC:CTime类和CTimeSpan类
    VC对话框实现添加滚动条实现滚动效果
    组合框控件 -- CComboBox
    快速排序
    归并排序
    插入排序
    堆排序
    Mozilla新特性只支持https网站,再次推动SSL证书普及
    企业如何选择最佳的SSL
  • 原文地址:https://www.cnblogs.com/shix0909/p/13540709.html
Copyright © 2011-2022 走看看