Go语言有没有比较好的适合小白的学习资料?

发布于:2023-06-30 14:39:44

1.1 Golang 的语言的特点

go语言简述:

Go 语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容 Go 语言:Go = C + Python , 说明 Go 语言既有 C 静态语言程序的运行速度,又能达到 Python 动态语言的快速开发。

1)扩展C语音中的概念其中包括了表达式语法,控制结构,基础数据类型,调用参数传值,指针等等,也保留了和 C 语言一样的编译执行方式及弱化的指针。

案例:

func testPtr(num *int) {

*num = 22

}

2)引入包的概念,用于组织程序结构,Go 语言的一个文件都要归属于一个包,而不能单独存在

3)垃圾回收机制,内存自动回收,不需开发人员管理

4)说到go最直截了当就是天然的并发

(1)语言层面上支持的比较简单。

(2)goroutine,比较轻量级线程,可以实现大并发处理,高效的使用多核。

(3)并发的开发模型是CPS实现。

5)包含了管道通信机制,形成go语言特有的管道可以通过goroute之间相互的通信

6)函数可以返回多个值,这个很lua 的语法非常相似

//go语音的函数支持返回多个返回值

func getMoreReturn(a1 int,a2 int)(int,int){

n:=a1 + a2

m:=a1 – a2

return n,m

}

7)创新方法,切片slice,延迟执行defer等

Go的相关开发工具介绍

工具介绍

visual studio code 可以默认提示语法高亮,lua 开发也经常使用配合luaide 进行调试。Sublime Text 类似这种文本编辑器比较轻量级还是比较好使用的,有绿色版本,都是免费使用。Vim,vim是从vi中发展来的文本编辑器具有代码补全、编译错误跳转,在程序中广泛被使用了解下EMacs,它不仅仅是编辑器也是一个集成开发环境Eclipse IDE,开源免费且提供了GOEclipse插件使用,很早游戏开发中原生android开发使用的就是EclipseLiteIDE 是专门的Go语音开发的跨平台轻量级集成开发环境,还是**人开发的,这个还没用过PhpStrom、WebStrom、pyCharm IDE

开发工具选择

接下来的开发我还是选择visual studio code,因为在平时的开发项目都是经常使用的,所以文本编辑器还是vs code 后续再选择使用Eclipse IDE开发。

windows 环境下搭建go语音开发环境配置SDK

最头疼的就是每次的语言环境搭建,接下来还是耐心的完成吧。

1.3.1 SDK介绍

SDK 的全称(Software Development Kit 软件开发工具包)SDK 是提供给开发人员使用的,其中包含了对应开发语言的工具包

1.3.2 SDK工具包下载

Go 语言的官网为:http://golang.org , 因为各种原因,可能无法访问SDK 下载地址:Golang ** https://www.golangtc.com/download如何选择对应的 sdk 版本根据课程选择对应课程的安装版本

1.3.3 windows 下安装SDk

Windows 下 SDK 的各个版本说明:64 位系统:go1.9.2.windows-amd64.zip请注意:安装路径不要有中文或者特殊符号如空格等SDK 安装目录建议:windows 一般我安装在 d:/programs安装时,基本上是傻瓜式安装,解压就可以使用解压后,我们会看到 d:/go 目录,这个是 sdk
测试是否安装成功

1.3.4 go的环境变量及错误现象

dos 命令行中敲入go错误提示

go不是内部命令,也不是可运行的程序

原因:当前执行的程序在当前目录下如果不存在,windows系统中已有的一个名为path的环境变量中查找。所以在进入到go安装路径bin目录下,执行go会看到提示信息。环境变量

测试运行,这样就配置好了

Go 语言的快速入门

目标写个hello world

代码书写如下

说明

go 文件的后缀是 .gopackage main

表示该 hello.go 文件所在的包是 main, 在 go 中,每个文件都必须归属于一个包

import “fmt”

表示:引入一个包,包名 fmt, 引入该包后,就可以使用 fmt 包的函数,比如:fmt.Println

func main () {

}

func 是一个关键字,表示一个函数。

main 是函数名,是一个主函数,即我们程序的入口

fmt.Println(“hello”

表示调用 fmt 包的函数 Println 输出 “hello,world”

通过go build 命令对该go 文件进行编译,生成exe文件
运行hello.exe
注意:通过 go run 命令可以直接运行 hello.go 程序 [类似执行一个脚本文件的形式]

Go的执行流程

如果对源码进行编译后,再去执行,Go的执行流程图
如果对源码直接执行 go run ,go执行的流程图
上述两种方式的区别:如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有 go 开发环境的机器上,仍然可以运行。如果我们是直接 go run go 源代码,那么如果要在另外一个机器上这么运行,也需要 go 开发环境,否则无法执行。在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多。

编译和运行原理

有了 go 源文件,通过编译器将其编译成机器可以识别的二进制码文件在该源文件目录下,通过 go build 对 hello.go 文件进行编译。可以指定生成的可执行文件名,在windows 下 必须是 .exe 后缀如果程序没有错误,没有任何提示,会在当前目录下会出现一个可执行文件(windows 下是.exeLinux 下是一个可执行文件),该文件是二进制码文件,也是可以执行的程序如果程序有错误,编译时,会在错误的那行报错。有助于程序员调试错误.运行方式:直接执行hello.exe,运行工具go run对源码文件进行运行

Go 程序开发的注意事项

Go 源文件以 "go" 为扩展名Go 应用程序的执行入口是 main()函数。 这个是和其它编程语言(比如 java/c)Go 语言严格区分大小写Go 方法由一条条语句构成,每个语句后不需要分号(Go 语言会在每行后自动加分号),这也体现出 Golang 的简洁性Go 编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错
go 语言定义的变量或者 import 的包如果没有使用到,代码不能编译通过

GO 语言的转义字符

1)t : 表示一个制表符,通常使用它可以排版

2)\n :换行符

3)\\ :一个\

4)\" :一个"

5)\r :一个回车 fmt.Println("天龙八部雪山飞狐\r 张飞");

1.6 小结

学习编程最容易犯的错是语法错误 。Go 要求你必须按照语法规则编写代码。如果你的程序违反了

语法规则,例如:忘记了大括号、引号,或者拼错了单词,Go 编译器都会报语法错误,要求:尝试着去看懂编译器会报告的错误信息

2.1 注释

2.1.1 介绍注释

1)用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性

2)注释语法,行 //

3)/* 内容 */

4)使用细节

(1)对于行注释和块注释,被注释的文字,不会被 Go 编译器执行

(2)块注释里面不允许有块注释嵌套 [注意一下]

2.1.2 规范代码风格

1)正确的注释和注释风格

(1)Go 官方推荐使用行注释来注释整个方法和语句

(2)带看 Go 源码

2)正确的缩进和空白

(1)使用一次 tab 操作,实现缩进,默认整体向右边移动,时候用 shift+tab 整体向左移看老师的演示

(2)或者使用 gofmt 来进行格式化

2.1.3 Go 标准库API文档

1)API (Application Programming Interface,应用程序编程接口)是 Golang 提供的基 本编程接口

2)Go 语言提供了大量的标准库,因此 google 公司 也为这些标准库提供了相应的 API 文档,用于告诉开发者如何使用这些标准库,以及标准库包含的方法

3)Golang 中文网 在线标准库文档: https://studygolang.com/pkgdoc

Golang 的包和源文件和函数的关系简图
有一个离线版的 Golang_Manual_By_AstaXie_20120522.chm

3.1 Go变量

3.1.1 变量使用注意事项

1)变量表示内存中的一个存储区域

2)该区域有自己的名称(变量名)和类型(数据类型)

3)Golang 变量使用的三种方式

(1)第一种:指定变量类型,声明后若不赋值,使用默认值

(2)第二种:根据值自行判定变量类型(类型推导)

(3)第三种:省略 var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误

多变量声明,在编程中,有时我们需要一次性声明多个变量,Golang 也提供这样的语法
该区域的数据值可以在同一类型范围内不断变化(重点)
变量在同一个作用域(在一个函数或者在代码块)内不能重名
变量=变量名+值+数据类型,这一点请大家注意,变量的三要素Golang 的变量如果没有赋初值,编译器会使用默认值, 比如 int 默认值 0 string 默认值为空串,小数默认为 0

3.1.2 程序里面 + 的使用

1)当左右两边都是数值型时,则做加法运算

2)当左右两边都是字符串,则做字符串拼接

3.1.3 数据类型介绍

3.1.4整形类型基础介绍

1)整数各个类型

整数类型的细节Golang 各整数类型分:有符号和无符号,int uint 的大小和系统有关Golang 的整型默认声明为 int 型如何在程序查看某个变量的字节大小和数据类型 (使用较多)Golang 程序中整型变量在使用时,遵守保小不保大的原则,即:在保证程序正确运行下,尽量使用占用空间小的数据类型。【如:年龄】it: 计算机中的最小存储单位。byte:计算机中基本存储单元。[二进制再详细说] 1byte = 8 bit

3.1.5小数类型、浮点类型

1)小数类型介绍

(1)关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位

说明:浮点数都是有符号的.

(2)尾数部分可能丢失,造成精度损失。 -123.0000901

未完待续…..


免责声明:本站所有内容及图片均采集来源于网络,并无商业使用,如若侵权请联系删除。

上一篇:阿里企业邮箱使用指南(快速入门)

下一篇:Go语言专题之Go语言介绍(一)

资讯 观察行业视觉,用专业的角度,讲出你们的心声。
MORE

I NEED TO BUILD WEBSITE

我需要建站

*请认真填写需求信息,我们会在24小时内与您取得联系。