Golang学习 【day1】变量、类型

这里总结的Golang 笔记只适合有点编程基础的人看,比如Java

变量、类型

声明变量的三种方法

局部变量

局部变量一般被定义在函数之中,意味着他只作用在这个函数之中,其他函数中不可以再用这个变量,可以在当前函数中重新声明一个一样的变量使用。以下是局部变量声明方式。

    var j int
	fmt.Println(j)

	var i = 10.1
	fmt.Printf("i的类型:%T\n", i) // float64

	name := "tom"
	fmt.Printf("name的类型:%T\n", name)  // string

全局变量

全局变量意为可以作用于整个go文件中,任意地方都可以使用这个变量,当然还可以在方法中重新声明使用,这里优先使用的是局部变量,然后是全局变量。这里需要补充一下,就是其他go文件也可以调用这个变量,那么将这个变量中首字母变为大写(这里大写意为公有类似于Java之中的public,小写意为私有类似于Java之中)以下声明全局变量。

var(
	address = "xian"
	// 这里其他文件中是可以调用的
	Age = 5000
	number = 2
)

类型

在这里插入图片描述
值类型:值类型通常是在栈中分配内存结构,变量直接存储值 int、float、bool、string、数组、结构体
引用类型:变量存储的是一个地址, 这个地址存储的值才是真正的值,内存通常在堆上进行分配,当没有引用去引用这个值的时候,这个值就会变为垃圾,通常由GC回收。指针、slice切片、map、管道channel、interface

整型

golang之中整型分为int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,byte。这里int8占一个字节以此类推int64就占八个字节。

浮点型

浮点类型float32可以理解为单精度,float64 可以理解双精度。一把情况下我们建议使用float64精度更高。

func main() {
	var a float32 = -123.0000901
	var b float64 = -123.0000901
	fmt.Println("a: ", a)
	fmt.Println("b: ", b)
}

如上代码打印的结果如下:
在这里插入图片描述
使用了float32造成精度丢失。

字符类型

golang中是没有专门的字符类型,如果要存储字符的话,一般使用byte来存储。golang中更没有字符串,字符串是由一串固定长度的字符连接起来的字符序列。

	var char byte = 'a'
	var chars byte = '是'

如上不能第一种是对的,第二种是错的,golang中使用的UTF-8编码,汉字的UTF-8对应的值已经超过了127。所以是错的,如果要使用的话,可以将byte修改为int。

字符串的使用

以下有两种字符串的用法

	// 第一种
	var str string = "中国万岁"
	fmt.Println(str)
	// 第二种
	var strings string = `var a float32 = -123.0000901
	var b float64 = -123.0000901
	fmt.Println("a: ", a)
	fmt.Println("b: ", b)`
	fmt.Println(strings)

注意:golang中的字符串一旦被赋值就不能再被更改了。

字符串的拼接

	var str string = "hello"+
		"world"
	fmt.Println(str)

	var a string = "d"
	a += "s"
	fmt.Println(a)
如何输出字符

使用fmt库中的Printf格式化控制输出,使用%c类似于C语言之中的格式化输出。

布尔类型

bool类型在golang中值允许有两个值,只有true、false。bool只占用一个字节。一般用在逻辑运算。可以使用unsafe.Sizeof(name)查看bool变量占的字节数。

语言规范

  1. package 的名称一般情况下和目录名称是相同的即可。

  2. 变量名、常量名、函数名通常采用驼峰法(首字母大写表示公有的、首字母小写表示私有的)。

  3. 由26个英文字符,0-9,_去做命名的,且不能以数字开头,严格区分大小写,不能出现空格。

  4. 不能以系统保留关键字作为标识符,比如break、if等等。

戒骄戒躁,冲冲冲

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值