2.1 GO 变量定义

GO有四种数据类型,数字、布尔、字符、派生类型;这里使用前三种简单类型来说明变量的定义与使用

package main

import "fmt"
var (
aa = 1
bb = true
ss = "作用域为包的变量"
s2,s3 = "包变量的位置可能写在包内的任何地方","即可以是引用的前面也可以在引用的后面"
)
//GO有四种类型,数字、布尔、字符、派生类型
//变量的默认值
func var1(){
   var a int
   var b bool
   var f float64
   var s string
   // %d 表示数字,%s表示字符串,%q可以为字符串带上双引号
   fmt.Printf("%d-%s-%q
",a,s,s)  // 0--""
   fmt.Println(b)  //false
   fmt.Println(f)  //0
}

//变量初始化
func var2(){
   var a int = 100  //明确地写出了变量的类型
   var b,f,s = true,3.14,"批评别人时,一定要顾及听者的面子" //不定义类型,同时多变量写于一行
   fmt.Println(a,b,f,s)
   var aa = 300
   var ss = "在回答别人或对别人发表观点时,一定要先准确理解别人的意思"
   fmt.Println(aa,ss)
}

//较常用的变量声明赋值方式
func var3(){
   //多行合并为一行,省去了类型,连var关键字也省去了,编辑器自动判断变量类型;只能用于一次声明变量时使用
   s1,s2 := "话越多","越没有份量"
   fmt.Println(s1,s2)
   //第二次使用时,不可再加冒号
   s1,s2 = "讲话时不能只顾着自己说","更要注意对方的感受和情绪变化"
   fmt.Printf("%s,%q",s1,s2) //讲话时不能只顾着自己说,"更要注意对方的感受和情绪变化"
}

func main() {
   var1()
   var2()
   var3()
}

几个注意事项

变量的命名:
推荐使用studentName,而不是student_name
首字母大写有特殊的含义,比如一个包的方法要想在其他包中使用,那么该方法名称必须首字母大写,又比如结构体中的属性等

变量的作用域:
比如包a下有b.go与c.go,b.go中有方法C,则其他包引用的方式为a.C()
包,即文件所在目录的名称,包名文件夹下可以有多个文件,包内变量的作用域是可以跨越这些文件的;比如,一个包中不允许存在两个相同名称的方法,会提示重复;
函数内的变量的作用域就只是在函数内了

字符串
字符串分为原生字符串、解释型字符串两种;
原生字符串使用``(反引号),解释型字符串使用双引号"",解释型字符串中可以解析转义字符;
原文地址:https://www.cnblogs.com/perfei/p/10369187.html