Go语言程序:访问修饰符的使用


在Go语言中,存在两种类型的访问修饰符:导出型和未导出型。从其所属包中导出的标识符称为导出型**标识符**。它们总是以大写字母开头。这些标识符仅在其定义的包中有效。未从任何包中导出的标识符称为未导出型标识符,它们以小写字母编写。

语法

func len(v Type) int

len()函数用于获取任何参数的长度。它接受一个参数作为我们想要查找其长度的数据类型变量,并返回一个整数,表示该变量的长度。

func ToUpper(str string) string

**ToUpper()**函数位于strings包中,用于将给定的字符串转换为大写。该函数接受给定的字符串作为参数,并在将其转换为大写后返回最终字符串。

方法一:使用导出型标识符

现在让我们考虑一个示例,我们将尝试使用导出型函数的概念将字符串数组转换为大写。

算法

  • **步骤1** − 首先,我们需要导入所需的包,例如fmt和strings。

  • **步骤2** − 然后,调用main()函数。

  • **步骤3** − 初始化一个字符串数组并向其中存储字符串值。接下来,在屏幕上打印该数组。

  • **步骤4** − 现在启动一个for循环来遍历数组,并使用string.ToUpper()函数将数组的每个元素转换为大写,并将结果数组存储在results中。

  • **步骤5** − 现在,使用fmt.Println()函数在屏幕上打印结果。

示例

以下示例将解释如何在Go语言中使用导出型标识符来访问修饰符。

package main
import (
   "fmt"
   "strings"
)
func main() {

   // creating an array of strings and assigning values to it
   arr := []string{"apple", "banana", "fruits"}
   fmt.Println("Successfully converted array of strings to upper case using Exported method ToUpper() defined in strings package")
   fmt.Println("The resultant string is:")
   for x := 0; x < len(arr); x++ {
      // calling the exported method ToUpper()
      results := strings.ToUpper(arr[x])
      fmt.Println(results)
   }
}

输出

Successfully converted array of strings to upper case using Exported method ToUpper() defined in strings package
The resultant string is:
APPLE
BANANA
FRUITS

方法二:使用未导出型标识符

现在让我们考虑一个示例,我们将尝试使用未导出型函数的概念来查找整数数组的总和。

算法

  • **步骤1** − 首先,我们需要导入fmt包。

  • **步骤2** − 初始化并定义一个名为addition()的方法来查找整数数组的总和。此函数将整数数组作为参数,并计算其总和。

  • **步骤3** − 它使用for循环迭代数组的每个元素并查找其总和,并将总和存储在一个名为s的新声明的变量中。然后,该函数返回结果。

  • **步骤4** − 现在,调用main()函数。

  • **步骤5** − 初始化一个整数数组并向其中存储值。然后使用fmt.Println()函数在屏幕上打印该数组。

  • **步骤6** − 现在通过将数组作为参数传递给它来调用addition()函数。请注意,在调用addition函数时,第一个字母是小写的,这表明该函数是未导出的,并且在main函数中定义。

  • **步骤7** − 现在,将结果存储在一个不同的变量中并在屏幕上打印它。

示例

以下示例将解释如何在Go语言中使用未导出型标识符来访问修饰符。

package main
import "fmt"
func addition(val []int) int {
   s := 0
   for x := range val {
      s += val[x]
   }
   return s
}

// Calling the main function
func main() {

   // defining an array of integers and storing values in it
   arr := []int{50, 29, 36, 55, 87, 95}
   fmt.Println("The given array of integers is:", arr)
   result := addition(arr)
   fmt.Println()
   fmt.Println("Succesfully found the sum of array of integers using UnExported method addition()")
   fmt.Println("The resultant sum is:")
   fmt.Println(result)
}

输出

The given array of integers is: [50 29 36 55 87 95]

Succesfully found the sum of array of integers using UnExported method addition()
The resultant sum is:
352

结论

我们已经成功编译并执行了一个Go语言程序来展示访问修饰符以及示例。在这里,我们使用了Go语言中的两种类型的访问修饰符:导出型和未导出型。

更新于:2023年2月16日

864 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告