Go语言精修尚硅谷笔记第一二章
一、Golang的学习方向
1.1 Go的学习方向
Go语言,可以简单写成Golang(lang是language)
- 区块链研发工程师
- Go服务器端/游戏软件工程师
- Golang分布式/云计算软件工程师
1.2 Go的应用领域
- 区块链应用
- 后端服务器应用
- 云计算、云服务后台应用
1.3 学习方法介绍
二、golang概述
2.1 Google创造Golang的原因
- 计算机硬件技术更新频繁,性能提高很快。目前主流的编程语言发展明显落后于硬件,不能合理利用多核多CPU的优势提升软件系统性能。
- 软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个足够简洁高效的编程语言。
- 【现有的编程语言:1.风格不统一 2.计算能力不够 3.处理大并发不够好】
- 企业运行维护很多c/c 的项目,c/c 程序运行速度虽然很快,但是编译速度确很慢,同时还存在内存泄漏的一些列的困扰需要解决。
2.2 Go语言特性
Go语言保证了既能达到静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容Go语言:Go=C Python,说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。
- 从C语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等,也保留了和C语言一样的编译执行方式及弱化的指针
- 引入包的概念,用于组织程序结构,Go语言的一个文件都要归属于一个包,而不能单独存在。
- 垃圾回收机制,内存自动回收,不需要开发人员管理
- 天然并发(重要特点)
- 从语言层面支持并发,实现简单
- goroutine,轻量级线程,可实现大并发处理,高效利用多核。
- 基于CPS并发模型(Communicating Sequential Processes)实现
- 吸收了管道通信机制,形成Go语言特有的管道channel通过管道channel,可以实现不同的goroute之间的互相通信。
- 函数可以返回多个值。举例
//写一个函数,实现同时返回 和,差
func getSumAndSub(n1 int,n2 int)(int,int){
sum := n1 n2
sub := n1 - n2
return sum,sub
}
7.新的创新:比如切片slice、延时执行defer
2.3 下载配置
略
2.4 goland创建第一个go程序
goland新建go mould
创建mian文件夹,在main下创建文件test.go
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
- 直接golang点击绿色三角形运行
- 命令行先编译后运行(windows下编译生成.exe文件)
- 命令行go run 直接运行(需要有go的环境)
- 两种执行流程的方式区别
- 1 ) 如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行
- 2.) 如果我们是直接 gorun go源代码,那么如果要在另外一个机器上这么运行,也需要go开发 环境,否则无法执行。
- 3 ) 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了 很多。
2.5 注意事项
1 ) Go源文件以 “go” 为扩展名。
2.) Go应用程序的执行入口是main()函数。 这个是和其它编程语言(比如java/c)
3 ) Go语言严格区分大小写。
4 ) Go方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行后自动加分号),这也体现出Golang的简洁性。
5 ) Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否 则报错
6 ) go语言定义的变量或者 import 的包如果没有使用到,代码不能编译通过。
7 ) 大括号都是成对出现的,缺一不可。
2.6 注释
1 ) 行注释
- 基本语法: // 注释内容
2.) 块注释(多行注释)
- 基本语法
/*
注释内容
*/
- 使用细节
- 1 ) 对于行注释和块注释,被注释的文字,不会被Go编译器执行。
- 2.) 块注释里面不允许有块注释嵌套 [注意一下]
2.7 规范的代码风格
1 ) Go官方推荐使用行注释来注释整个方法和语句。
2 ) 使用一次 tab 操作,实现缩进,默认整体向右边移动,时候用 shift tab 整体向左移
3)或者使用 gofmt 来进行格式化
- gofmt xxxx.go 只是把个格式化的代码输出
- gofmt -w xxxx.go 把格式化的代码替换掉原文件里的代码
4 ) 运算符两边习惯性各加一个空格。比如: 2. 4 * 5 。
5)Go语言的代码风格.
package main
import"fmt"
func main(){
fmt.Println("hello,world!")
}
上面的写法是正确的.
package main
import"fmt"
funcmain()
{
fmt.Println("hello,world!")
}
上面的写法不是正确,Go语言不允许这样编写。 【Go语言不允许这样写,是错误的!】
6 ) 一行最长不超过 80 个字符,超过的请使用换行展示,尽量保持格式优雅
2.8 GOLANG 官方编程指南
说明: Golang 官方网站 https://golang.org
-
点击的tour-> 选择 简体中文就可以进入中文版的 Go编程指南 。
-
Golang 官方标准库API文档, https://golang.org/pkg (opens new window)可以查看Golang所有包下的函数和使用
-
解释术语:API
api : applicationprograminterface:应用程序编程接口。
就是我们Go的各个包的各个函数。
-
Golang 中文网 在线标准库文档: https://studygolang.com/pkgdoc(opens new window)
-
Golang的包和源文件和函数的关系简图
2.9 DOS的常用指令(window下)
Dos: DiskOperatingSystem 磁盘操作系统
查看当前目录
dir
转换到其他盘符例如d盘
d:
切换到当前盘符其他目录下
cd
切换到上一级
cd ..
切换到根目录
cd \
新建目录
md 目录名1 目录名2
删除空目录
rd 空目录名
删除目录以及下面的子目录和文件,不带询问
rd /q/s 目录名
删除目录以及下面的子目录和文件,带询问
rd /s 目录名
新建或追加内容到文件
文件名.后缀
复制文件
copy 文件名1 地址\文件名2
移动文件
move 文件名 地址
删除指定文件
del 文件名
删除指定文件
del *.txt
退出
exit
2.10 总结
-
Go语言的SDK是什么?
SDK 就是软件开发工具包。我们做Go开发,首先需要先安装并配置好sdk.
-
Golang环境变量配置及其作用。
GOROOT: 指定gosdk 安装目录。
Path: 指令 sdk\bin 目录:go.exe godoc.exe gofmt.exe
GOPATH: 就是golang工作目录:我们的所有项目的源码都这个目录下。
-
Golang程序的编写、编译、运行步骤是什么? 能否一步执行?
编写:就是写源码
编译:gobuild 源码 =》 生成一个二进制的可执行文件
运行: 1. 对可执行文件运行 xx.exe ./可执行文件 2…gorun 源码
-
Golang程序编写的规则。
1 ) go文件的后缀 .go
2.) go程序区分大小写
3 ) go的语句后,不需要带分号
4 ) go定义的变量,或者import 包,必须使用,如果没有使用就会报错
5 ) go中,不要把多条语句放在同一行。否则报错
6 ) go中的大括号成对出现,而且风格
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfibfbg
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01