Go变量定义

Posted 林猛男

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go变量定义相关的知识,希望对你有一定的参考价值。

一、语法

  • 使用var关键字
var a,b,c bool

var s1,s2 string = "hello", "wolrd"

可以放在函数内,或者放在包内

使用var()集中定义变量
  • 让编译器自动决定类型
var a,b,i,s1,s2 = true,false,3,"hello","world"
  • 使用:=定义变量
a,b,i,s1,s2 := true,false,3,"hello","world"

只能在函数内使用

二、栗子

package main

import "fmt"

//函数外面也可以定义变量,但是不能用":="定义
//作用域:包内部变量
var aa = 33
var bb = "dddd"
var ss = true

//函数外面设置变量也可以这么写
var (
	a = 33
	b = "dddd"
	s = true
)

//变量定义
func variableZeroValue() 
	var a int
	var b string
	fmt.Printf("%d %q\\n", a, b)


//变量设置初值
func variableInitialValue() 
	var a, b int = 2, 3
	var s string = "abc"
	fmt.Println(a, b, s)


//编译器自动决定类型
func variableTypeDeduciton() 
	var a, b, c, s = 3, 4, true, "def"
	fmt.Println(a, b, c, s)


//短定义(推荐)
func variableShorter() 
	a, b, c, s := 3, 4, true, "def"
	b = 5 //不能再有":",因为上面已经定义过
	fmt.Println(a, b, c, s)


func main() 
	fmt.Println("hello World")
	variableZeroValue()
	variableInitialValue()
	variableTypeDeduciton()
	variableShorter()
	fmt.Println(aa, bb, ss)

以上是关于Go变量定义的主要内容,如果未能解决你的问题,请参考以下文章

go基础语法

2.Go变量

java所有变量定义时都要赋初值吗????

c++中定义一个变量一定要赋初值吗

《Go语言精进之路》读书笔记 | 使用复合字面值作为初值构造器

结构定义时候成员不能赋初值