Go语言中变量的使用

 主要讲解Go语言中变量的使用

包括变量的申明方式和基本使用

主要知识点:

  • 定义变量的几种方式
  • 可以不指定变量类型,可以自动进行类型推断
  • 使用  := 定义变量并初始化,这种方式只能用于函数内部
  • 包内部变量使用及两种写法,Go中没有全局变量的概念
  • Go没有隐式类型转换,所有涉及到类型转换都需要手动强制转换

示例代码如下:

package main

import (
	"fmt"
	"math"
)

//1、定义变量不赋初值,字符串没赋初值会返回长度为0的字符串
func variableZeroValue(){
	var a int
	var s string
	fmt.Println(a,s) //0
}
//2、定义变量赋初值
func variablelInitialValue(){
	var a,b int = 3,4
	var s string = "abc"
	fmt.Println(a,b,s) //3 4 abc
}

//3、基于类型推断的变量定义
func variablelTypeDeduction(){
	var a,b,c,d = 3,4,true,"abc"
	fmt.Println(a,b,c,d) //3 4 true abc
}

//4、使用简约写法,推荐用法(仅在函数内使用)
// 如果在函数外部定义变量 则必须使用 var 关键字
func variablelShorter(){
	//:= 代表定义变量 并赋值
	a,b,c,d := 3,4,true,"abc"
	b=5
	fmt.Println(a,b,c,d) //3 5 true abc
}

//5、包内部变量,Go中没有全局变量的概念
var aa=3
var bb=true
var cc="cc"

//也可使用下面这种方式
var (
	dd=3
	ee=false
	ff="ff"
)

//6、Go中没有类型隐式转换,都需要强制转换
//以下使用勾股定理验证
func triangle(){
	a,b := 3,4
	var c int
	//此处需要转换类型
	c=int(math.Sqrt(float64(a * a + b*b)))
	fmt.Println(c) //5
}

func main() {
	fmt.Println("helloworld!");
	variableZeroValue()
	variablelInitialValue()
	variablelTypeDeduction()
	variablelShorter()
	fmt.Println(aa,bb,ee,ff) //3 true false ff
	triangle()
}

猜你喜欢

转载自my.oschina.net/ruoli/blog/1815447