常量 变量 表达式

245 阅读2分钟
//打印三种类型
func main() {
   fmt.Print()   普通打印 
   fmt.Printf()  格式化打印,如果有占位符使用,就是%T%D%V那些。
   fmt.Println() 打印输出并且带有回车
}

Printf打印格式列表:

格式 占位符含义
%T 类型
%v
%d 整数
%f 浮点数
%c 字符
%s 字符串
例子:
	var v1  = '哈'
	fmt.Printf("v1的中文字符是%c",v1)    //v1的字符是哈
	fmt.Printf("v1的类型是%T",v1)        //v1的类型是int32
	fmt.Printf("v1的值是%v",v1) 	     //v1的值是21704
	fmt.Printf("v1的数字形式是%d",v1)    //v1的数字形式是21704


常量变量

//【常量】 恒定不变的一块内存成为常量
//【变量】 反复擦写的一块内存成为变量
//【表达式】 使用运算符喝API连接常量和变量的式子

//const 表示常量 constant
// var  表示变量 variable
//  =   表示赋值
// :=   表示声明带赋值
// ==   表示等于
// 常量  不能重新赋值
// 变量  可以重新赋值


package  main
import "fmt"
func main() {
	const pi = 3.14  	//常量声明
	var  r = 1.0 		//变量声明
	area := pi * r * r      //:= 表示[连声明带赋值]; 同一个参数名第二次传值直接 = 就可以了。
	fmt.Println(area)       //fmt.Println 打印并且换行
	}

全局变量和局部变量

1 【局部成员】定义在函数内部,仅能对当前函数内可见。
2 【私有成员】如果首字母小写的变量定义在函数外,自己的包内可见。
3【公有成员】如果首字母大写的变量定义在函数外,所有的包可见。
package  main
import "fmt"

var Sss =  3 //公开变量,所有包可见
var rrrr = 2 //全局变量,包内可见

func main(){

}

func main01(){
    var iii = 1  //局部变量,只能在这个函数下使用。
    fmt.Println(i)
}

一个包下,函数之间互相调用

 
package  main
import "fmt"

func main(){
	fmt.Println("abc") 		 //输出结果: abc
	//main001()         		//如果这里不调用main001() 那么该函数虽然没有注释,但是也不会执行。
}

func main001() {
	const pi = 3.14  	
	var  r = 1.0 		
	area := pi * r * r 
	fmt.Println(area)   
}

俩个包下,变量之间互相调用

1. xuexi包下02.go文件内容

package main
import "fmt"

const (
	Sunday    = 0
	Monday    = 1
	Tuesday   = 2
	Wednesday = 3
	Thursday  = 4
	Friday    = 5
	Saturday  = 6
)

func test() {

	fmt.Println(Thursday)

}

2. xuexi包下01.go文件内容

package main
import "fmt"

//调用main函数,输出结果为1,因为没有调用test函数,所以02文件的内容没有被执行,只是调用了test函数里的全局变量。
func main() {

	fmt.Println(Monday) //1

    }


3. 执行时执行整个xuexi包

   go build xuexi     //重点
   //1 


一次性声明多个常量和变量


/*
  声明多个变量后面不需要添加结束符.
  声明出变量或者常量后,必须引用,否则会提示报错.
*/


package  main
import "fmt"
func main(){

    //var(...)  方式声明多个变量
    
    const(
	 lightSpeed =  30 * 10000
	 earthCirele =  4* 10000
	)
	fmt.Println(lightSpeed,earthCirele)
	
	
	
	//const(...) 方式声明多个常量
	
    var (
    	age    = 10
    	height = 175
	)
	fmt.Println(age,height)
}