Go变量的定义及其使用

Posted by

一个典型的程序使用在其执行过程中可能会改变的各种值。例如,对用户输入的值执行某些操作的程序。一个用户输入的值可能与另一个用户输入的值不同。因此,这使得有必要使用变量,因为另一个用户可能不会使用相同的值。当用户输入一个将在操作过程中使用的新值时,可以暂时存储在计算机的随机存取存储器中,并且这部分内存中的这些值在整个执行过程中会发生变化,因此出现了另一个已知的术语作为变量。所以基本上,变量是可以在运行时更改的信息的占位符。变量允许检索和操作存储的信息。变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。变量可以通过变量名访问。

命名变量的规则:

  1. 变量名必须以字母或下划线 (_) 开头。名称可能包含字母“a-z”或“A-Z”或数字 0-9 以及字符“_”。 Geeks, geeks, _geeks23 // 有效变量 123Geeks, 23geeks // 无效变量
Geeks, geeks, _geeks23  // valid variable
123Geeks, 23geeks      // invalid variable

2. Go 语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。

声明变量的一般形式是使用 var 关键字:

变量名不应以数字开头。 234geeks //非法变量

234geeks  // illegal variable 

3. 变量名区分大小写。 geeks 和 Geeks 是两个不同的变量

4. 关键字不允许用作变量名。

5.变量名称的长度没有限制,但建议使用 4 – 15 个字母的最佳长度。

声明一个变量

在 Go 语言中,变量以两种不同的方式创建:

使用 var 关键字:在 Go 语言中,变量是使用特定类型的 var 关键字创建的,与 name 连接并提供其初始值。

语法:

var variable_name type = expression
  • 在上述语法中,可以省略 type 或 = 表达式,但不能同时省略两者。
  • 如果省略 = 表达式,则变量值由其类型的默认值确定。默认值通常为 0。
  • 如果删除了类型,则变量的类型由表达式中的值初始化确定。

例子:

package main

import "fmt"

func main() {

	//变量声明
	var myvariable1 = 20
	var myvariable2 = "GeeksforGeeks"
	var myvariable3 = 34.80

	fmt.Printf("The value of myvariable1 is : %d\n",
		myvariable1)

	fmt.Printf("The type of myvariable1 is : %T\n",
		myvariable1)

	fmt.Printf("The value of myvariable2 is : %s\n",
		myvariable2)

	fmt.Printf("The type of myvariable2 is : %T\n",
		myvariable2)

	fmt.Printf("The value of myvariable3 is : %f\n",
		myvariable3)

	fmt.Printf("The type of myvariable3 is : %T\n",
		myvariable3)

}

输出

The value of myvariable1 is : 20
The type of myvariable1 is : int
The value of myvariable2 is : GeeksforGeeks
The type of myvariable2 is : string
The value of myvariable3 is : 34.800000
The type of myvariable3 is : float64

如果删除了表达式,则该变量将对数字等类型的类型零值,布尔值,字符串的“ false”,对于界面和参考类型而言。因此,GO语言中没有这种非初始化变量的概念。

上面运行结果

例子:

// Go program to illustrate
// concept of variable
package main
   
import "fmt"
   
func main() {
  
    // Variable declared and 
    // initialized without expression
    var myvariable1 int
    var myvariable2 string
    var myvariable3 float64
  
    // Display the zero-value of the variables
    fmt.Printf("The value of myvariable1 is : %d\n",
                                     myvariable1)
  
    fmt.Printf("The value of myvariable2 is : %s\n",
                                     myvariable2)
  
    fmt.Printf("The value of myvariable3 is : %f",
                                     myvariable3)
}

输出:

The value of myvariable1 is : 0
The value of myvariable2 is : 
The value of myvariable3 is : 0.000000

如果使用类型,则允许您在单个声明中声明同一类型的多个变量。

例子

// Go program to illustrate
// concept of variable
package main
import "fmt"

func main() {

	// Multiple variables of the same type
	// are declared and initialized
	// in the single line
	var myvariable1, myvariable2, myvariable3 int = 2, 454, 67

// Display the values of the variables
fmt.Printf("The value of myvariable1 is : %d\n",
									myvariable1)

fmt.Printf("The value of myvariable2 is : %d\n",
									myvariable2)

fmt.Printf("The value of myvariable3 is : %d",
									myvariable3)
}

输出:

The value of myvariable1 is : 2
The value of myvariable2 is : 454
The value of myvariable3 is : 67

如果删除类型,则允许您在单个声明中声明不同类型的多个变量。变量的类型由初始化值确定。

// Go program to illustrate
// concept of variable
package main
import "fmt"

func main() {

// Multiple variables of different types
// are declared and initialized in the single line
var myvariable1, myvariable2, myvariable3 = 2, "GFG", 67.56

// Display the value and
// type of the variables
fmt.Printf("The value of myvariable1 is : %d\n",
									myvariable1)

fmt.Printf("The type of myvariable1 is : %T\n",
								myvariable1)

fmt.Printf("\nThe value of myvariable2 is : %s\n",
									myvariable2)

fmt.Printf("The type of myvariable2 is : %T\n",
								myvariable2)

fmt.Printf("\nThe value of myvariable3 is : %f\n",
									myvariable3)

fmt.Printf("The type of myvariable3 is : %T\n",
								myvariable3)
}

输出

The type of myvariable1 is : int

The value of myvariable2 is : GFG
The type of myvariable2 is : string

The value of myvariable3 is : 67.560000
The type of myvariable3 is : float64