Golang 展示类中静态关键字的用法
Golang中的静态关键字是什么
“静态”一词用于描述具有固定或不变值或行为的变量、函数和方法。在Go语言中,不存在静态关键字。在Go语言中,我们使用”变量”一词来描述存储和操作数据的内存位置。
静态变量具有保留值的特性,即使超出其作用域!因此,静态变量在其前一个作用域中保留其先前的值,并且在新的作用域中不再初始化。
步骤
- 步骤1 - 首先,我们需要导入fmt包。
-
步骤2 - 然后,创建一个名为MyStruct的类,并在其中定义一个类型为int的属性。
-
步骤3 - 然后,我们需要创建一个函数来处理这个变量,并在其中执行一些任务。在这个示例中,我们只是打印其中包含的参数的值。
-
步骤4 - 现在,开始main()函数。定义一个对象来存储上面创建的结构体的数据值,并使用”.”符号来存储数据值。
-
步骤5 - 现在,调用上面创建的方法,它将打印该变量的值。
示例1
在这个示例中,我们将编写一个Go语言程序,通过创建一个函数来展示类中静态关键字的用法。
package main
import "fmt"
// creating a class
type MyStruct struct {
staticVar int
}
// creating a function to the class
func (s MyStruct) staticMethod() {
fmt.Println("staticVar:", s.staticVar)
}
func main() {
// initializing an object
var s MyStruct
s.staticVar = 1
s.staticMethod()
}
输出
staticVar: 1
示例2
在这个示例中,我们将编写一个Go语言程序来展示在类中使用静态关键字的用法,通过创建指向该类的指针函数。
package main
import "fmt"
type MyStruct struct {
staticVar int
}
func (s *MyStruct) staticMethod() {
fmt.Println("staticVar:", s.staticVar)
}
func main() {
var s MyStruct
s.staticVar = 1
s.staticMethod()
}
输出
staticVar: 1
示例3
在这个示例中,我们将编写一个go语言程序来展示使用静态关键字的用法,通过在函数中定义一个变量来定义到类。
package main
import "fmt"
type MyStruct struct {
staticVar int
}
func (s MyStruct) staticMethod() {
s.staticVar = 2
fmt.Println("staticVar:", s.staticVar)
}
func main() {
var s MyStruct
s.staticMethod()
}
输出
staticVar: 2
示例4
在这个示例中,我们将编写一个Go语言程序来展示静态关键字的用法,通过在函数中将一个变量定义为类的属性,并将指向该对象的指针作为参数传递给它。
package main
import "fmt"
type MyStruct struct {
staticVar int
}
func (s *MyStruct) staticMethod() {
s.staticVar = 2
fmt.Println("staticVar:", s.staticVar)
}
func main() {
var s MyStruct
s.staticMethod()
}
输出
staticVar: 2
结论
我们已成功编译并执行了一个Go语言程序,展示了在类中使用静态关键字的用法和示例。在前两个示例中,我们创建了静态变量,并将值分配给主函数中的变量;而在最后两个示例中,我们使用了函数的指针变量。