Go学习笔记day01-变量类型,关键字及一些语法特性

一.var 语句用于声明一个变量列表,跟函数的参数列表一样,类型在最后。

   变量声明可以包含初始值,每个变量对应一个。

  如果初始化值已存在,则可以省略类型;变量会从初始值中获得类型。

//变量
var x int, y int   
等同=>  
var x, y int  

//函数
func add(x int, y int) int {
	return x + y
}
等同
func add(x, y int) int {
	return x + y
}



//初始值    如有初始值,可以省略类型
var x, y = 1, 3



//在函数中,简洁赋值语句 := 可在类型明确的地方代替 var 声明,
//:= 结构不能在函数外使用
//函数我必须用var声明
func add() {
	var x,y=1,3
}
等同
func add() {
	x,y:=1,3
}

二.基本类型

bool

string

int  int8  int16  int32  int64
uint uint8 uint16 uint32 uint64 uintptr

byte // uint8 的别名

rune // int32 的别名
    // 表示一个 Unicode 码点

float32 float64

complex64 complex128

附:int和uint区别: 有符号的整数类型int和无符号的整数类型uint

有符号整型int

分为int8、int16、int32、int64

数据类型占用字节数据范围对比C语言
int81-128~127char
int162-32768~32767short
int324-2147483648~2147483647(21亿)long
int648-9223372036854775808~9223372036854775807比C最大要大

无符号整型uint

分为uint8、uint16、uint32、uint64

数据类型占用字节数据范围对比C语言
uint8(byte)10~255 
uint1620~65535 
uint3240~4294967295(42亿)unsigned long
uint6480~18446744073709551615 


三.关键字

3.1 for

//for循环
for i := 0; i < 10; i++ {
		sum += i
}
//等同
sum := 1
for ; sum < 1000; {
		sum += sum
}

//for 是 Go 中的 “while”
sum := 1
for sum < 1000 {
		sum += sum
}

//无限循环   省略循环条件,该循环就不会结束
for {
}

3.2 if

//if
if x < 0 {
		
}else{

}

3.3 switch

Go 只运行选定的 case,而非之后所有的 case。 实际上,Go 自动提供了在这些语言中每个 case 后面所需的 break 语句

3.4 defer 语句会将函数推迟到外层函数返回之后执行。

//例一
package main

import "fmt"

func main() {
	defer fmt.Println("world")

	fmt.Println("hello")
}

//输出
hello
world


//例二
//defer 栈  推迟的函数调用会被压入一个栈中。当外层函数返回时,被推迟的函数会按照后进先出的顺序调用。
package main

import "fmt"

func main() {
	fmt.Println("counting")

	for i := 0; i < 10; i++ {
		defer fmt.Println(i)
	}

	fmt.Println("done")
}
//输出
counting
done
9
8
7
6
5
4
3
2
1
0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值