go语言(三) 基本语法 变量的声明(使用var关键字)

Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性。在数学概念中,变量表示没有固定值且可改变的数。但从计算机系统实现角度来看,变量是一段或多段用来存储数据的内存

基本格式

 

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

批量格式

var (
    a int
    b string
    c []float32
    d func() bool
    e struct {
        x int
    }
)

简短格式

除 var 关键字外,还可使用更加简短的变量定义和初始化语法。

名字 := 表达式
需要注意的是,简短模式(short variable declaration)有以下限制:
定义变量,同时显式初始化。
不能提供数据类型。
只能用在函数内部。

func main() {
   x:=100
   a,s:=1, "abc"
}

因为简洁和灵活的特点,简短变量声明被广泛用于大部分的局部变量的声明和初始化。var 形式的声明语句往往是用于需要显式指定变量类型地方,或者因为变量稍后会被重新赋值而初始值无关紧要的地方。

Go语言的基本类型有:

  • bool
  • string
  • int、int8、int16、int32、int64
  • uint、uint8、uint16、uint32、uint64、uintptr
  • byte // uint8 的别名
  • rune // int32 的别名 代表一个 Unicode 码
  • float32、float64
  • complex64、complex128
     

//声明表里并打印 b为字符串,默认为空 所有看不见 
package main
import "fmt"

func main() {
	var a int
	var b string
	var c float32
	var d []int //切片
    var e [3]int //数组
	fmt.Println(a,b,c,d);
}
//格式化输出
package main
import "fmt"

func main() {
	var a int
	var b string
	var c float32
	var d []int
	// fmt.Println(a,b,c,d);
	// T 是代表类型type,v代表value值的意思,q是引用的意思
	fmt.Printf("%T,%v \n",a,a);
	fmt.Printf("%T,%v \n",b,b);
	fmt.Printf("%T,%q \n",b,b);
	fmt.Printf("%T,%v \n",c,c);
	fmt.Printf("%T,%v \n",d,d);
}

批量复制给变量

package main
import "fmt"

func main() { 
//批量声明变量
var (
	 a int
	 b string
	 c float32
	 d []int
)
	// fmt.Println(a,b,c,d);
	// T 是代表类型type,v代表value值的意思,q是引用的意思
	fmt.Printf("%T,%v \n",a,a);
	fmt.Printf("%T,%v \n",b,b);
	fmt.Printf("%T,%q \n",b,b);
	fmt.Printf("%T,%v \n",c,c);
	fmt.Printf("%T,%v \n",d,d);
}

运行结果一样

初始化默认值

package main
import "fmt"

func main() { 
//批量声明变量
var (
	 a int = 9501
	 b string = "这是一个测试"
	 c float32 = 3.1415
	 d []int 
	 e [3]int 
)
	// fmt.Println(a,b,c,d);go
	// T 是代表类型type,v代表value值的意思,q是引用的意思
	fmt.Printf("%T,%v \n",a,a);
	fmt.Printf("%T,%v \n",b,b);
	fmt.Printf("%T,%q \n",b,b);
	fmt.Printf("%T,%v \n",c,c);
	fmt.Printf("%T,%v \n",d,d);
	fmt.Printf("%T,%v \n",e,e);
	fmt.Println(a,b,c,d);
}


package main
import "fmt"

func main() { 
//函数体内短变量赋值,两值交换,无需第三个变量
 x := 20
 y := 30
 x,y = y,x
 fmt.Println(x,y);
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值