当前位置: 首页 > news >正文

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 = 999func main(){//定义在{}中的变量叫:局部变量//第一种:变量的使用方式,指定变量的类型并且赋值var num int = 18fmt.Println(num)//第二种: 指定变量类型,不赋值让其使用默认的值var num2 intfmt.Println(num2)//第三种:如果没有写变量的类型,那么会根据等号后面的值进行判定变量的类型(自动类型的推断)var num3 = 10fmt.Println(num3)//设计者认为上面的全局变量写法很麻烦,可以一次性声明:var(n9 = 500n10 = "net")//第四种:省略var, 注意:=不能写为 = sex :="男"fmt.Println(sex)fmt.Println("--------------------------------------------------------------------")//声明多个变量:var n1,n2,n3 intfmt.Println(n1)fmt.Println(n2)fmt.Println(n3)var n4,name,n5 = 10,"jack",7.8fmt.Println(n4)fmt.Println(name)fmt.Println(n5)n6,height := 6.9,160fmt.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 = 120fmt.Println(num1)var num2 uint8 = 200fmt.Println(num2)var num3 = 28//Printf函数的作用就是:格式化,把num3的类型填充到%T的位置上fmt.Printf("num3的类型是:%T" , num3)	//num3的类型是:intfmt.Println()fmt.Println(unsafe.Sizeof(num3))//表示学生的年龄:var age byte = 18fmt.Println(age)
}


http://www.mrgr.cn/news/23142.html

相关文章:

  • 连锁企业管理系统管哪些 80%的连锁企业一开始选错了
  • Servlet(二)
  • 并发编程(六)
  • Git 拉取代码,图形化工具即开即用
  • Unet改进30:添加CAA(2024最新改进方法)|上下文锚定注意模块来捕获远程上下文信息。
  • 皮肤表皮层
  • k9s 是什么?有什么功能?
  • VUE+Tailwind网页开发
  • 【最新华为OD机试E卷-支持在线评测】字母组合(200分)多语言题解-(Python/C/JavaScript/Java/Cpp)
  • MyBatis-Plus&Druid数据源
  • Linux命名管道
  • LINUX下载编译zlog
  • C语言 - 断言
  • 金士顿NV2 2TB假固态硬盘抢救记,RL6577/RTS5765DL量产工具,RTS5765DL+B47R扩容开卡修复
  • 人工智能与机器学习原理精解【18】
  • STM32 RTC实时时钟
  • 大牛直播SDK旗下SmrtMediaKit系列RTMP播放器怎么样?
  • DeepSeek缓存命中技术,成本降低10倍
  • 【中间件】-容器编排平台Kubernetes简介
  • Web 原生组件化方案:Web Components