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”包中公开的程序实体,被当前源码文件中的代码,视为当前代码包中的程序实体。

    重名变量、变量重声明

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

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

  • 相关阅读:
    IPC之PIPE
    MSChart的研究(转)
    计算机信息类ComputerInfo(车)
    c# 操作Word总结(车)
    js跳转页面(转)
    textarea中的回车识别问题
    js的页面传值cookie.session
    destoon使用
    vscode 配置php
    vscode开发c#
  • 原文地址:https://www.cnblogs.com/shix0909/p/13540709.html
Copyright © 2011-2022 走看看