Go语言程序演示类中静态关键字的使用


什么是 Go 语言中的静态关键字?

术语“静态”用于描述具有固定或不变值或行为的变量、函数和方法。在 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 语言程序,以演示类中静态关键字的使用以及示例。在前两个示例中,我们使用了创建的静态变量并将值分配给 main() 函数中的变量,而在后两个示例中,我们使用了函数的指针变量。

更新于: 2023年2月16日

2K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.