Golang 显示变量范围

Golang 显示变量范围

在本文中,我们将编写Go语言程序,使用指针方法来展示全局变量和局部变量的范围。范围是指程序中代码片段的可访问性,特指某个函数中的代码片段。

范围可以分为全局和局部两种方式。全局意味着在主函数中声明的变量不能被任何修改覆盖,并且在任何地方都保持不变,而局部访问意味着当变量在函数内部被修改时,只能在函数内部使用,并且其范围仅限于该函数内部。

使用相同的全局和局部变量

在这种方法中,我们将编写一个Golang程序,使用一个全局变量和一个同名的局部变量来描述变量的范围。

步骤

  • 步骤1 - 创建一个名为”main”的包,并在程序中声明 fmt(格式化包)包,其中 “main” 产生可执行代码,而 fmt 在格式化输入和输出时起作用。

  • 步骤2 - 创建一个 main 函数,在该函数中创建一个全局变量 name,并赋值给它

  • 步骤3 - 在控制台上打印出全局设置的名字

  • 步骤4 - 调用名为 change_name 的函数,在该函数中将全局变量更改为之前设置的不同名字

  • 步骤5 - 在控制台上打印出不同的名字,以及调用函数后的名字,使用 fmt 包中的 Println 函数,其中 ln 表示换行

示例

以下示例演示了如何创建一个Golang程序,使用相同的全局和局部变量来显示变量的范围

package main

import "fmt"

func main() {

   name := "Veronica"
   fmt.Println("Name before function call:", name)  
   change_name()
   fmt.Println("Name after function call:", name)
}

func change_name() {    
   name := "Virushi"
   fmt.Println("Name inside function:", name)  
}

输出

Name before function call: Veronica
Name inside function: Virushi
Name after function call: Veronica

使用指针方法

在这种特定的方法中,我们将编写一个Golang程序,使用指针来展示变量的作用域。将创建一个名为a的变量,并分配一个稍后将被递增的值。

步骤

  • 步骤1 - 在程序中创建一个主要的包,并声明fmt(format包)包,其中主要生成可执行代码,fmt帮助格式化输入和输出。

  • 步骤2 - 在主函数中创建一个名为a的变量,并为其赋值。

  • 步骤3 - 使用fmt包的Println函数打印a的值,其中ln表示新行。

  • 步骤4 - 在主函数中使用指向’a’变量的指针调用increment函数。

  • 步骤5 - 在函数中使用*运算符递增指针指向的a的值。

  • 步骤6 - 使用Println函数在函数内打印该值。

  • 步骤7 - 最后,按照上述步骤调用函数后打印a的值。

示例

以下示例将展示如何创建一个使用指针方法展示变量作用域的Golang程序。

package main

import "fmt"

func main() {
   a := 1 
   fmt.Println("Value of a before the function is called:", a)
   increment(&a)  
   fmt.Println("Value of a after the function is called:", a)
}

func increment(ptr *int) {
   *ptr++ 
   fmt.Println("Value of a inside function:", *ptr)  
}

输出

Value of a before the function is called: 1
Value of x inside function: 2
Value of a after the function is called: 2

在主函数之外使用全局变量

在这个示例中,我们将编写一个Go程序,用全局变量来展示变量的作用域。我们将创建一个外部函数,其中会对这些变量进行操作。

步骤

  • 步骤1 - 创建一个包main,声明fmt(格式化包)包在程序中。main产生可执行代码,fmt用于格式化输入和输出。

  • 步骤2 - 创建一个全局变量,并将一个字符串赋值给它。

  • 步骤3 - 创建一个main函数,然后在其中再创建一个局部变量,将一个字符串赋值给它。

  • 步骤4 - 使用Println函数将局部变量打印到控制台上。

  • 步骤5 - 在这一步中,访问主函数中的全局变量,并打印出字符串。

  • 步骤6 - 从主函数中调用callingFunction()函数。

  • 步骤7 - 在这个函数中,使用相同的变量创建另一个局部变量,并将其打印到控制台上。

  • 步骤8 - 再次从另一个函数中访问全局变量,并打印其值。

  • 步骤9 - 然后,改变全局变量的值,并将更新后的值打印到控制台上。

  • 步骤10 - 使用fmt包中的Println函数执行打印语句,其中ln表示换行。

示例

以下示例演示了一个Go程序,使用全局变量展示变量的作用域,这些全局变量位于主函数之外。

package main

import "fmt"

var global_variable = "I am a global variable"

func main() {
   var local_variable = "I am a local variable"
   fmt.Println(local_variable)  
   fmt.Println(global_variable) 
   callingFunction()
}

func callingFunction() {    
   var local_variable = "I am another local variable"
   fmt.Println(local_variable)  
   fmt.Println(global_variable)     
   global_variable = "I am a new global variable value" 
   fmt.Println(global_variable)
}

输出

I am a local variable
I am a global variable
I am another local variable
I am a global variable
I am a new global variable value

结论

我们编写并执行了三个示例程序,展示了变量范围的情况。在第一个示例中,我们创建了一个字符串变量,并使用函数以不同的方式显示局部和全局变量。第二个示例使用指针方法,即将指向要递增的变量的指针作为参数传递给函数,第三个示例中,我们将在主函数外部使用全局变量,并在外部函数中访问它。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程