zl程序教程

您现在的位置是:首页 >  工具

当前栏目

golang 学习汇总

学习Golang 汇总
2023-09-11 14:13:57 时间

 


golang 学习汇总

1.go 的应用领域:金花鼠gordon
1.1区块链应用:是一种数据库技术,去中心化,透明,每个人可以参入记录
1.2后端服务器应用:排序,推荐,搜索,负载均衡,cache,容错,按条件分流
1.3云计算,云服务应用后台应用:CDN内容分发网络,盛大网络,京东消息推送云服务,分布式文件系统

2. go学习方法:高效愉快,先整体框架-后细节;用到什么-能够快速的学习什么的能力=做中学,快速的掌握一个技术

3.go概述:
google创造了go语言,不能充分发挥硬件的优势,处理大并发,软件复杂维护成本高

4.go的特点:go=c+python 运行块+开发块
4.1go 有指针
4.2 go有包,go的每一个文件都有一个包
4.3 go有垃圾回收机制,内存字段回收,不需要开发人员管理
4.4 go 天然支持并
4.5 go的管道通信机制channle
4.6 go 函数可以返回多个值
4.7 go 集合:切片slice,延时执行defer

5.go的开发工具vscode,sublime text,Vim,Emacs,eclipse,liteIDE,JetBrains
https://code.visualstudio.com/download
6.window环境下搭建go开发画家--安装和配置SDK:软件开发工具包:
https://www.golangtc.com/download
https://studygolang.com/dl 选择:go1.17.3.windows-amd64.zip

6.1配置环境变量:
GOROOT: 指定sdk的安装路径:C:\Program Files\go
Path:添加sdk的/bin目录:C:\Program Files\go\bin
GOPATH:工作目录,我们go项目的工作路径

go.exe 可以编译和运行go程序,
godoc.ext;
gofmt.ext

7.go 快速入门
go/go_code/project01/main/hello.go

package main
import "fmt"

func main(){ //程序的入口
fmt.PrintIn("hello world!")
}

通过go build 命令对go 文件进行编译,生成.exe文件
go build hello.go
go build -o myhello.exe hello.go

go run hello.go

8.go 执行流程
.go 源文件(go build 编译)-->可执行文件exe--> 运行-->输出结果(可以将.exe复制到没有go开发环境的电脑执行)

.go .go 源文件 >go run 运行-->输出结果 (需有go的开发环境)

9.go开发注意事项:
9.1.以.go为扩展名
9.2 应用程序的入口是main函数
9.3 go严格区分大小写
9.4 go方法由一条条语句构成构成,每个语句后面不需要分号;
9.5 go编译器是一行行进行编译,因此我们一行行写代码,不能把多条语句写在同一行,否则报错;
9.6 go 语言定义的变量或import的包如没有用到,代码不能编译通过;
9.7 大括号是成对出现的;
9.8 同一个包(文件夹)只能有一个main函数

10.go 转义字符:
\t 一个制表符,对齐的功能 一个tab 4个空格
\n 换行符
\\
\"
\r 一个回车,fmt.PrintIn("abcdef\rxx") xxcdef //用xx替换左边的2个字符

// 注释符

11.go 开发常见问题及解决方案
11.1.路径写错或文件名错;
11.2 语法错误:1,l, 大括号,引号

12 .go 注释
// 注释符 行注释 ctrl+/
/* */ 块注释
不能嵌套注释

13. go 规范的编程风格
13.1 推荐行注释
13.2 合适的缩进和空白 tab右移; shirlt +tab 左移
13.3 运算符两边各加一个空格 var num = 1 + 2 * 3
13.4: main() { 大括号风格
13.5 长字符串,一行不超过80字符用 逗号换行输出

一个问题尽量只有一个风格,保持统一

14. go 官方编程指南API: https://golang.org/#
go 中文网:https://studygolang.com
go API中文网 https://studygolang.com/pkgdoc
指南API http://docscn.studygolang.com/pkg/ http://docscn.studygolang.com/
API: 应用程序开接口application program interface

包.函数名

15.dos的常用指令
15.1 dos操作系统,基本介绍:disk operating sytem 磁盘操作系统
windows目录结构

md--->dos操作系统--->操作目录和文件

15.2常用的指令:
目录操作:
1.查看当前目录和文件:dir
2.切换到其他f磁盘:cd /d f:
3.切换到当前盘的其他目录:cd d:\test100 绝对路径,相对路径
4.切换到上级目录: cd ..
5.切换到跟目录: cd \
6.新建目录:md ok200
7.删除目录及子目录文件:rd /q/s
8.删除文件带询问:rd /s ok200
文件操作:
1.新建文件:echo hello > abc.txt
2.移动或复制文件:copy abc.txt d:\test200; copy abc.txt d:\test200\abcd.txt; move abc.txt d:\test200
3.删除文件:del abc.txt; del *.txt 删除全部txt文件;

屏幕操作:
1.cls 清屏
2.exit:退出

16. go 变量,及使用注意事项
是程序的基本组成单位,声明,赋值,使用;是内存中一个数据存储空间区域; 一个程序就是一个世界
var num = 10
16.1 变量声明后不赋值,会赋默认值;同一作用域不能重名
16.2 var 类型推导:var a=10 var b="aa"
16.3 无类型赋值:num2 :=“天天” ==var num2 string num2="天天"
16.4 多变量声明:var n1,n2,n3 int
var n1,name,n3=100,"cc",99
n1,name,n3 :=100,"cc",99
16.5 全局变量:在方法外定义
var n1,n2,n3
var (
n1
n2
n3
)

17.go数据类型:
基本数据类型:
数值型:整型:int,int8(-27~+27-1),int16,int32,int64;rune,uint(0-255),uint8,uint16,unit32,uint64,byte(0--255)
浮点型:float32,float64
字符型:byte,单个字母
布尔型:bool
字符串:string
派生,复杂数据类型:
指针:pointer
数组;
结构体:struct ==class
管道:Channel
函数:
切片:slice ==动态数组
接口:interface
map: ==集合

17.1 数值型
var n1=100 //系统是64 位,则为;int64
fmt.PrintInf("n1的类型:%T"+n1)
fmt.PrintInf("n1的类型:%T n1占用的字节数 %d"+unsave.Sizeof(n1))
import (
"fmt"
"unsave"
)

bit:最小存储单位 8bit=1byte
byte:基本存储单元

17.2 浮点型:都是有符号的,+-: 符号位+基数位+尾数位,需要保存精度高的用float64 高精度的类型
var price float=32.23
小数类型分类:


?p=25&spm_id_from=pageDriver 40