golang

一.go执行流程

4)go run运行时间明显要比第一种时间长一点

【3】编译后的文件可以替换名称

二.语法注意

1.源文件以“go”为扩展名

2.程序的执行入口是main()函数。

3.严格区分大小写

4.方法由一条条语句构成,每个语句后不需要分号(go语言会在每行后自动加分号),这也体现出go的简洁性

5.go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一行,否则报错

6.定义的变量或者import的包如果没有使用到,代码不能编译通过

7.大括号是成对出现的,缺一不可

三.代码风格

1.注意缩进 向后缩进是tab 向前是shift+tab 在cmd里面使用gofmt -w xxx.go可以让go文件自动调整缩进

2.成对编程 {}【】“”都是成对

3.运算符两边加空白

4.注释:官方推荐行注释

5.以下是错误的

6.一行的最长不超过80字符,超过的请使用换行展示,尽量保持优雅

四.API应用程序接口

五.变量与类型

1.变量的引入:一个程序就是一个世界,不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位

2.变量的介绍:变量相当于内存中一个数据存储空间的表示

3.变量使用步骤:

1.声明

2.赋值

3.使用

代码演示:

package main import "fmt" func main(){ //1.变量的声明 var age int //2.变量的赋值 age = 18 //3.变量的使用 fmt.Println("age = ",age) //变量的圣魔和赋值可以合成一句: var age2 int = 19 fmt.Println("age2 = ",age2) //变量重复定义会报错 // var age int = 20 // fmt.Println("age = ",age) //不可以在赋值的时候给与不匹配的类型 // var num int = 12.56 // fmt.Println("num = ",num) }

4.变量的四种使用形式

整体代码:

package main
import "fmt"

//全局变量:定义在函数{}外的变量
var n7 = 100
var n8 = 999


func main(){
	//定义在{}中的变量叫:局部变量
	//第一种:变量的使用方式,指定变量的类型并且赋值
	var num int = 18
	fmt.Println(num)

	//第二种: 指定变量类型,不赋值让其使用默认的值
	var num2 int
	fmt.Println(num2)

	//第三种:如果没有写变量的类型,那么会根据等号后面的值进行判定变量的类型(自动类型的推断)
	var num3 = 10
	fmt.Println(num3)

	//设计者认为上面的全局变量写法很麻烦,可以一次性声明:
	var(
		n9 = 500
		n10 = "net"
	)

	//第四种:省略var, 注意:=不能写为 = 
	sex :="男"
	fmt.Println(sex)

	fmt.Println("--------------------------------------------------------------------")

	//声明多个变量:
	var n1,n2,n3 int
	fmt.Println(n1)
	fmt.Println(n2)
	fmt.Println(n3)

	var n4,name,n5 = 10,"jack",7.8
	fmt.Println(n4)
	fmt.Println(name)
	fmt.Println(n5)
	
	
	n6,height := 6.9,160
	fmt.Println(n6)
	fmt.Println(height)

	fmt.Println(n7)
	fmt.Println(n8)

	fmt.Println(n9)
	fmt.Println(n10)
}

六.数据类型

一.整数类型

【1】整数类型的介绍

简单的说,就是用于存放整数值的,比如10-456712等等

【2】有符号整数类型

PS:127怎么算的

1个字节八个比特位,从左往右

第一位表示符号位,如果是0表示是正数,如果是1表示负数,所以实际上有无符号就是首位能否表示正负符号,所以127的int8就是0 1 1 1 1 1 1 1--》二进制---》转为十进制:

超出范围就报错

【3】无符号整数类型

表示范围的边界计算:

从左往右第一位,就不代表一个符号了,他就是具体的一个数,就是数的本身,所以第一位要么是0要么是一个正数,不会有一个负数的一个体现

PS: 255怎么算的, 二进制1 1 1 1 1 1 1 1 = 2^7+127=128+127=255

超出边界报错:

【4】其他整数类型

PS: golang的证书类型默认声明为int类型

PS:变量占用的字节数

%V 值的默认格式表示

%+V 类似%V,但输出结构体时会添加字段名

%#V 值的Go语法表示

%T 值的类型的Go语法表示

%% 百分号

【5】这么多整数类型,使用的时候如何选择呢?

golang程序中整数类型变量在使用时,遵守保小不保大原则

即:在保证程序在正确运行下,尽量使用占用空间小的数据类型

package main
// import "fmt"
// import "unsafe"
import (
	"fmt"
	"unsafe"
)
func main(){
	//定义一个整数类型:
	var num1 int8 = 120
	fmt.Println(num1)

	var num2 uint8 = 200
	fmt.Println(num2)

	var num3 = 28
	//Printf函数的作用就是:格式化,把num3的类型填充到%T的位置上
	fmt.Printf("num3的类型是:%T" , num3)	//num3的类型是:int
	fmt.Println()
	fmt.Println(unsafe.Sizeof(num3))

	//表示学生的年龄:
	var age byte = 18
	fmt.Println(age)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值