zoukankan      html  css  js  c++  java
  • go 语言标识符

    go 语言标识符

    摘自 go 语言并发实战书籍

    • 标识符可以表示程序的实体,前者即为后者的名称

    • Go 中的变量、常量、函数和类型声明可统称为程序实体,而他们的名称统称为标识符,标识符可以是 Unicode、 字符集中任意能表示自然语言文字的字符、数字以及下划线(_),标识符不能以数字或下划线开头

    • 实际上,标识符的首字符的大小写控制着对应程序实体的访问权限。如果标识符是大写形式,那么它所对应的程序实体就可以被代码包之外的代码访问到,也称为可导出的或者公开的,否则,对应的程序实体就只能本包内的代码访问,也称为不可导出的或者私有的,要想成为可导出的程序实体,还需要满足以下两个条件:

      • 1、程序实体是非局部的,局部的程序实体是指:

        • 它被定义在了函数或在结构体的内部
      • 2、 代码包所属目录必须包含在 GOPATH 中定义的工作区目录中

        • 代码包导入还有另外一种情况:

          • 如果指向初始化某个代码包,而不需要在当前源码文件中使用哪个代码包中的任何程序实体,就可以用“_”来代替别名:

            • import (
              	_ "github.com/Sirupsen/logrus"
              )
              
          • 这种情况下,我们只是触发了这个代码包中的初始化操作(如果有的话)。符号 “_” 就像是一个垃圾桶,他在代码中广泛使用。

    • Go 中还存在着一类特殊的标识符,叫作预定义标识符,他们是在 Go 源码中声明的,这类标识符包括以下几种:

      • 所有基本数据类型的名称
      • 接口类型 error
      • 常量 true、false 和 iota
      • 多有内建函数的名称,即 appen、cap、close、complex、cop、delete、image、len、make、new、panic、print、println、real和recover
        • 这里强调以下空标识符:
          • 它由 "_" 表示,一般用在变量声明或代码包导入语句中,若在代码中存在一个变量 x、但是去不存在任何对它的使用,则编译器会报错。如果在变量 x 的声明代码后添加这样一行代码:
            • _ = x
            • 就可以绕过编译器检查,使他不产生任何编译错误。
            • 注意:
              • 空标识符就像一个垃圾桶,在相关初始化工作完成之后,操作对象就会弃之不用。
  • 相关阅读:
    TCP三次握手和四次挥手详解
    Core Bluetooth Programming Guide
    iBeacon
    Xcode6:The file couldn’t be opened because you don’t have permission to view it
    关于IOS的蓝牙(转)
    iPad accessory communication through UART
    关于蓝牙设备与ios连接后,自动打开一个app
    Protocol
    闪屏效果
    修改avd路径
  • 原文地址:https://www.cnblogs.com/jcjc/p/12459112.html
Copyright © 2011-2022 走看看