显示类中封装的Golang程序
在这篇文章中,我们将学习使用Golang程序在类中的封装。
go语言中的封装与其他面向对象的语言相比。 – 在面向对象的语言中,类的变量或数据对该类是私有的,只能通过其指定的类的任何成员函数来访问。然而,类和对象并不被Go语言所支持。所以在Go编程语言中使用包来完成封装。Go提供导出和未导出的标识符,这是标识符的两种不同形式。从包中导出变量、函数、方法、字段和结构可以实现封装,有助于管理元素的可见性(变量、函数、方法、字段、结构)。如果指定它们的包在你的程序中存在,这些项目就是可见的。
Go编程语言中未导出的标识符 – 没有从任何包中导出的标识符被称为未导出的标识符。所有这些都是小写的。从下面的例子中可以看出,加法函数没有与任何包相关联,因此它不是一个导出的函数,它的可见性只对这个应用程序可用。
现在让我们考虑一个例子,我们将尝试通过使用导出函数的封装概念将一个字符串数组转换为大写字母。
package main
import (
"fmt"
"strings"
)
// fmt package allows us to print anything on the screen.
// strings package allows us to use other predefined functions like ToUpper()
// calling the main function
func main() {
// creating an array of strings and assigning values to it
arr := []string{"apple", "banana", "fruits"}
// converting the letters of the string declared above to uppercase using ToUpper()
// method defined in strings package.
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()
// storing the result in a new array called results
results := strings.ToUpper(arr[x])
// printing the result on the screen
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
调用主函数。这是我们程序的起点,将从这里开始。
初始化一个字符串数组,并将字符串值存储到其中。
现在开始一个for循环,对数组进行索引,使用string.ToUpper()函数将数组中的每个元素转换成大写字母,并将结果数组存储在results中。
现在,使用fmt.Println()函数在屏幕上打印结果。
Go编程语言中使用非输出标识符的封装 –
现在让我们考虑一个例子,在这个例子中,我们将尝试通过封装的概念,使用一个未导出的函数来寻找整数阵列的总和。
package main
import "fmt"
// fmt package allows us to print anything on the screen
// defining an unexported function addition to find the sum of an array of integers
// this function receives an array of integers as an argument and returns the integer value as the sum
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}
// calling then unexported method addition() to find the sum of the array and passing the
// array to it as
// an argument and storing the result in a separate variable
result := addition(arr)
// printing the result on the screen
fmt.Println("Successfully found the sum of an array of integers using UNExported method addition()")
fmt.Println("The resultant sum is:")
fmt.Println(result)
}
Successfully found the sum of an array of integers using UNExported method addition()
The resultant sum is:
352
首先,我们需要导入fmt包。 fmt包允许我们在屏幕上打印任何东西。
初始化并定义一个名为 addition() 的方法,以求得整数阵列的和。这个函数接受一个整数数组的参数,并计算其总和。然后,它返回结果。
调用主函数。这是我们程序的起点,将从这里开始。
初始化一个整数数组并在其中存储数值。
现在通过传递数组作为参数来调用加法函数。注意,在调用加法函数时,第一个字母是小写的,这表明该函数是未被导出的,并且是在main本身中定义的。
现在,将结果存储在一个不同的变量中,并将其打印在屏幕上。