Go语言:公开和私有化的属性和函数

简介:


  • Go语言 不像 其它编程语言publicprotectedprivate访问控制修饰符
  • Go语言 是通过 字母大小写 以及 下划线开头控制可见性的
  • 定义的 常量变量类型接口结构函数 等的名称
  • 大写字母开头 表示 能被其它包访问或调用(相当于 public
  • 非大写开头 表示 只能在包内使用(相当于 private

代码实例:


  • main.go 如下
package main

import (
    "./util"
)

func main() {
    println(util.A)  // 调用公开常量:成功
    println(util.a)  // 调用私有常量:失败
    println(util._A) // 调用私有常量:失败

    println(util.B)  // 调用公开变量:成功
    println(util.b)  // 调用私有变量:失败
    println(util._B) // 调用私有变量:失败

    util.Function()   // 调用公开函数:成功
    util.function()   // 调用私有函数:失败
    util._Function()  // 调用私有函数:失败

    util.UsePrivate() // 通过一个公开的函数使用私有的属性和函数:成功
}
  • util/test.go 如下
package util

const (
    A  = `这是一个公开的常量`
    a  = `这是一个私有的常量`
    _A = `这也是一个私有的常量`
)

var (
    B  = `这是一个公开的变量`
    b  = `这是一个私有的变量`
    _B = `这也是一个私有的变量`
)

func Function() {
    println(`这是一个公开的函数`)
}

func function() {
    println(`这是一个私有的函数`)
}

func _Function() {
    println(`这也是一个私有的函数`)
}

func UsePrivate() {
    // 调用私有属性
    println(a)
    println(_B)

    // 调用私有函数
    _Function()
}

你可能感兴趣的:(Go语言:公开和私有化的属性和函数)