go 变量、常量、基本数据类型

变量

/*
###########
变量的定义和使用
##########
*/
package main

func main() {
	//1 方式一:基本定义
	//var关键字 变量名 变量类型 =变量值
	//var age int=18  //定义并赋值
	//var age int  //定义
	//age=18       //赋值

	//2 方式二:类型推导(不需要加类型了,并不代表没有类型,类型都是固定的)
	//var age =18
	//var age      //错误,变量定义时,就要固定类型
	//age=18

	//3 方式三:简略声明(冒号跟等号是一起的,推荐第三种)
	// age :=18
	//age   //更不对了
	//age=18

	//4 同时定义多个变量
	//var age,a,b,c int=18,19,20,21
	//var age,a,b,c =18,19,20,21
	//age,a,b,c :=18,19,20,21
	//变形(能看懂,表示在定义即可)
	//var (
	//	age=19
	//	name="lqz"
	//	sex="男"
	//)

	//5 变量要先定义再使用
	//a=19
	//a:=10

	//6 变量不能重复定义
	//var a int=18
	////var a=19
	////a:=19
	////简略声明的小特殊(冒号前,至少有一个未定义的变量即可)
	//b,a:=17,18
	//
	//fmt.Println(a,b)

	//7 变量类型是固定的
	//var a int=18
	//var a=18 
	//a:=18
	//a=80
	//a="xxx"  //不可以
	//fmt.Println(a)


	//Printf,%T表示类型
	//fmt.Printf("age的类型是:%T,值是:%d\n", age, age)
	//fmt.Println(age)

	/*
		注意:
		1 变量定义了,必须使用,否则报错
		2 包导入了,要使用,不使用就报错
		3 先定义再使用
		4 不能重复定义
		5 类型固定
	*/

}

/*
在python中一切皆对象,对象就是个地址是引用
*/

常量

/*
###########
常量:恒定不变的量,建议常量全用大写
程序运行过程中,不会改变的值,数据库的连接地址,端口号
##########
*/

package main

func main() {
	//1 const关键字 常量名 常量类型 =值
	//const age int =99

	//2 常量可以定义了不使用
	//const age int =99

	//3 类型可以省略
	//const age  =99
	//fmt.Printf("%T",age)

	//4 同时定义多个常量
	//const (
	//	AGE=19
	//	NAME="lqz"
	//	sex="男"
	//)
	//fmt.Println(AGE)
	//
	////5 改变常量(不允许)
	//AGE=199
	//fmt.Println(AGE)

}

基本数据类型

/*
###########
基本数据类型
##########
*/
package main

func main() {
	/*
		1 数字类型
			有符号整形:(长度不同,表示的数字范围不一样)
				-int:在32位机器上是int32,在64位机器上是int64
				-int8 :8个bit位,一个字节,正负 2的7次方-1的范围
				-int16: 正负 2的15次方-1的范围
				-int32:
				-int64:
			无符号整数:
				-uint8 :2的8次方-1
				-uint16:2的16次方-1
				-uint32: 2的32次方-1
				-uint64: 2的64次方-1
			浮点型:
				-float32:精度不一样
				-float64:一般用64
			复数:
				-complex类型:(了解,不知道更好)实部和虚部
			其他:
				-byte:uint8的别名
				-rune:int32的别名

		//2 字符串类型:用双引号包裹的内容,反引号 ``
			反引号可以换行


		//3 布尔类型
			true false  (小写)
	*/

	//var a int=200
	//var a uint8=-200
	//fmt.Println(a)

	//浮点型
	//var a float32
	//var b float64

	//复数
	//var a complex64 = 9i+10
	//fmt.Println(a)

	//字符串
	//	var name string ="lqz \n" +
	//		"is " +
	//		"big"
	//	//var name = "lqz"
	//	var name2 = `egon
	//			is
	//big`
	//	fmt.Println(name)
	//	fmt.Println(name2)
	//双引号内如果有双引号? 加\转义
	//var name string ="lqz \"dafds\"is "
	//var name1 string =`lqz "dafds"is `
	//fmt.Println(name)

	//布尔类型
	//var a bool =true
	//var a  =true
	//a  :=true
	//var b bool =false
	//fmt.Println(a)
	//fmt.Println(b)



	//类型转换(强类型:不通类型之间不能做运算)
	//类型转换
	//var a int =19
	//var b float32=18.1
	//float转成int类型,小数点后直接弃用,不是四舍五入
	//fmt.Println(a+int(b))
	//var b float32=18.9999
	//fmt.Println(int(b))

	//恶心的地方(了解)
	//var a int =199   //64为操作系统int64
	//var b int64=199
	////int和int64不是一个类型
	//fmt.Println(a+int(b))

}


posted @ 2020-04-20 17:18  Jeff的技术栈  阅读(192)  评论(0编辑  收藏  举报
回顶部