在go语言中,long不是一个独立的数据类型,而是从整数数据类型中扩展出来的,用来存储更大的整数值。int数据类型和long数据类型的主要区别是,int数据类型是32位,而long数据类型是64位。在这里,我们将学习使用go编程语言将长类型变量转换为int的不同技术。
方法1:通过使用类型转换
在这个例子中,我们将使用类型转换的方法来将长数据类型的变量转换为int。类型转换的方法是将变量作为参数传递给int()函数。
语法
func typeOf (x interface{})
typeOf() 函数被用来获取任何变量的类型。这个函数存在于reflect包中,它将需要确定其类型的变量作为参数。然后,该函数返回作为结果的指定变量的类型。
算法
- 第1步 – 首先,我们需要导入fmt和reflect包。
-
第2步 – 然后,启动main()函数。
-
第 3步 – 在main中初始化名为x的长数据类型的变量,并向其存储数值。
-
第 4 步 – 使用fmt.Println()函数在屏幕上打印该变量。
-
第 5步 – 使用reflect包中的TypeOf()函数打印该变量的类型。
-
第 6步 – 将结果存储在一个相同数据类型的新变量中。
-
第 7步 – 使用TypeOf()函数在屏幕上打印这个变量中的数据和它的类型。
例子
Go语言程序通过使用类型转换将长类型变量转换为int类型
package main
import (
"fmt"
"reflect"
)
func main() {
var x int64 = 5
fmt.Println("The variable to be converted is:", x)
fmt.Println("Type of x is:", reflect.TypeOf(x))
fmt.Println()
var y int = int(x)
fmt.Println("The variable obtained after converting the above value to int is:", y)
fmt.Println("Type of y is:", reflect.TypeOf(y))
}
输出
The variable to be converted is: 5
Type of x is: int64
The variable obtained after converting the above value to int is: 5
Type of y is: int
方法2:使用和运算符
在这个方法中,我们将使用和(&&)运算符,以便通过和运算符将长类型变量转换为int。和&运算符被用来从长数据类型的变量中去除多余的位。
算法
- 第1步 – 首先,我们需要导入fmt包。
-
第2步 – 然后启动main()函数,初始化一个长类型的变量并为其赋值。
-
第 3步– 在屏幕上打印该变量,并使用&运算符,以去除长类型中的额外位。
-
第4步– 在屏幕上打印结果和它的类型。
例子
Go语言程序通过使用and操作符将长类型变量转换为int类型
package main
import (
"fmt"
"reflect"
)
func main() {
var x int64 = 51
fmt.Println("The variable to be converted is:", x)
fmt.Println("Type of x is:", reflect.TypeOf(x))
fmt.Println()
var y int = int(x & 0x7fffffff)
fmt.Println("The variable obtained after converting the above value to int is:", y)
fmt.Println("Type of y is:", reflect.TypeOf(y))
}
输出
The variable to be converted is: 51
Type of x is: int64
The variable obtained after converting the above value to int is: 51
Type of y is: int
结论
我们已经成功地编译并执行了一个go语言程序,将一个长类型的变量转换为int,并附有实例。我们在这里使用了两个程序,第一个程序使用了类型转换的方法,我们只是把要转换的变量作为参数传递给int()函数,而在第二个程序中,我们使用了AND运算符,以便去除长数据类型变量的额外位。