Go 语言核心编程-环境入门篇

news/2024/7/7 22:44:30

第 1 章 Golang 开山篇

1.1 Golang 的学习方向

Go 语言,我们可以简单的写成 Golang

在这里插入图片描述

1.2 Golang 的应用领域

1.2.1区块链的应用开发

在这里插入图片描述

1.2.2后台的服务应用

在这里插入图片描述

1.2.3云计算/云服务后台应用

在这里插入图片描述

1.3 学习方法的介绍

在这里插入图片描述

1.4 讲课的方式的说明

  1. 努力做到通俗易懂
  2. 注重 Go 语言体系,同时也兼顾技术细节
  3. 在实际工作中,如何快速的掌握一个技术的分享,同时也是我们授课的思路(怎么讲解或者学习一个
    技术)。(很多学员反馈非常受用)
    在这里插入图片描述

第 2 章 Golang 的概述

2.1 什么是程序

程序:就是完成某个功能的指令的集合。画一个图理解:
在这里插入图片描述
在这里插入图片描述

2.2 Go 语言的诞生小故事

2.2.1Go 语言的核心开发团队-三个大牛

在这里插入图片描述

2.2.2Google 创造 Golang 的原因

在这里插入图片描述

2.2.3Golang 的发展历程

  • 2007 年,谷歌工程师 Rob Pike, Ken Thompson 和 Robert Griesemer
    开始设计一门全新的语言,这是Go 语言的最初原型。
  • 2009 年 11 月 10 日,Google 将 Go 语言以开放源代码的方式向全球发布。
  • 2015 年 8 月 19 日,Go 1.5 版发布,本次更新中移除了”最后残余的 C 代码”
  • 2017 年 2 月 17 日,Go 语言 Go 1.8 版发布。
  • 2017 年 8 月 24 日,Go 语言 Go 1.9 版发布。 1.9.2 版本
  • 2018 年 2 月 16 日,Go 语言 Go 1.10 版发布。

2.3 Golang 的语言的特点

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

  1. 从 C 语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等
    等,也保留了和 C 语言一样的编译执行方式及弱化的指针
    举一个案例(体验):
//go 语言的指针的使用特点(体验)
func testPtr(num *int) {
	*num = 20
}
  1. 引入包的概念,用于组织程序结构,Go 语言的一个文件都要归属于一个包,而不能单独存在。
package main //一个Go语言需要一个包
import "fmt"
func main(){
	//输出一句话
	fmt.Println("ok")
}
  1. 垃圾回收机制,内存自动回收,不需开发人员管理
  2. 天然并发 (重要特点)
    (1) 从语言层面支持并发,实现简单
    (2) goroutine,轻量级线程,可实现大并发处理,高效利用多核。
    (3) 基于 CPS 并发模型(Communicating Sequential Processes )实现
  3. 吸收了管道通信机制,形成 Go 语言特有的管道 channel 通过管道 channel , 可以实现不同的 goroute
    之间的相互通信。
  4. 函数可以返回多个值。举例:
    //写一个函数,实现同时返回 和,差
//go 函数支持返回多个值
func getSumAndSub(n1 int, n2 int) (int, int ) {
	sum := n1 + n2 //go 语句后面不要带分号. sub := n1 - n2
	return sum , sub
}
  1. 新的创新:比如切片 slice、延时执行 defer

2.4 Golang 的开发工具的介绍

2.4.1工具介绍

在这里插入图片描述
在这里插入图片描述

2.4.2工具选择

  1. 如何选择开发工具
    我们先选择用 visual studio code 或者 vim 文本编辑器本,到大家对 Go 语言有一定了解后,我们再
    使用 Eclipse 等 IDE 开发工具。
  2. 这是为什么呢?
    (1) 更深刻的理解 Go 语言技术,培养代码感。->写代码的感觉。
    (2) 有利于公司面试。-> 给你纸,写程序

2.4.3VSCode 的安装和使用

  1. 先到下载地址去选择适合自己系统的 VSCode 安装软件
    https://code.visualstudio.com/download
    在这里插入图片描述
  2. 演示如何在 windows 下安装 vscode 并使用
    步骤 1: 把 vscode 安装文件准备好
    在这里插入图片描述
    在这里插入图片描述
    步骤 2:双击安装文件,就可以一步一步安装,我个人的习惯是安装到 d:/programs 目录. 当看到如下界面时,就表示安装成功!
    在这里插入图片描述
    步骤 3: 简单的使用一下 vscode
    在 d 盘创建了一个文件夹 gocode
    在这里插入图片描述
  3. 演示如何在 Linux(ubuntu /centos)下安装 vscode 并使用
    这里,我们介绍一下我的 linux 的环境:
    步骤 1: 先下载 linux 版本的 vscode 安装软件
    在这里插入图片描述
    步骤 2: 因为我这里使用的是虚拟机的 ubuntu, 因此我们需要先将 vscode 安装软件传输到 ubuntu
    下,使用的 xftp5 软件上传。
    步骤 3: 如果你是在 ubuntu 下做 go 开发,我们建议将 vscode 安装到 /opt 目录… 步骤 4:将安装软件拷贝到 /opt
    步骤 5: cd /opt 【切换到 /opt】
    步骤 6: 将安装文件解决即可
    在这里插入图片描述
    步骤 7: 现在进入解压后的目录,即可运行我们的 vscode
    在这里插入图片描述
    在这里插入图片描述
  4. 演示如何在 Mac 下安装 vscode 并使用
    如果你使用的就是 mac 系统,也可以在该系统下进行 go 开发. 步骤 1:下载 mac 版本的 vscode 安装软件
    在这里插入图片描述
    步骤 2:把 vscode 安装软件,传输到 mac 系统
    细节: 在,默认情况下 mac 没有启动 ssh 服务,所以需要我们启动一下,才能远程传输文件. mac 本身安装了 ssh 服务,默认情况下不会开机自启
    1.启动 sshd 服务:
    sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
    2.停止 sshd 服务:
    sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
    3 查看是否启动:
    sudo launchctl list | grep ssh
    如果看到下面的输出表示成功启动了:
    --------------
    0 com.openssh.sshd
    步骤 3:将安装软件解压后即可使用
    在这里插入图片描述
    进入到这个解压后的文件夹(图形界面),双击即可
    步骤 4:编写解简单测试. 在用户所在的目录,创建了 gocode,然后将 test.go
    在这里插入图片描述

2.4.4小结

我们会讲解在 windows, linux , mac 如何安装 vscode 开发工具,并且还会讲解如何在三个系统下
安装 go 的 sdk 和如何开发 go 程序。
但是为了学习方便,我们前期选择 Windows 下开发 go。到我们开始讲项目和将区块链时,就会使
用 linux 系统。
在实际开发中,也可以在 windows 开发好程序,然后部署到 linux 下。

2.5 Windows 下搭建 Go 开发环境-安装和配置 SDK

2.5.1介绍了 SDK

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

2.5.2下载 SDK 工具包

  1. Go 语言的官网为:golang.org , 因为各种原因,可能无法访问。
  2. SDK 下载地址:Golang 中国 https://www.golangtc.com/download
  3. 如何选择对应的 sdk 版本
    在这里插入图片描述

2.5.3windows 下安装 sdk

  1. Windows 下 SDK 的各个版本说明:
    Windows 下:根据自己系统是 32 位还是 64 位进行下载:
    32 位系统:go1.9.2.windows-386.zip
    64 位系统:go1.9.2.windows-amd64.zip
  2. 请注意:安装路径不要有中文或者特殊符号如空格等
  3. SDK 安装目录建议:windows 一般我安装在 d:/programs
  4. 安装时,基本上是傻瓜式安装,解压就可以使用
  5. 安装看老师的演示:
  6. 解压后,我们会看到 d:/go 目录,这个是 sdk
    在这里插入图片描述
    在这里插入图片描述
    如何测试我们的 go 的 sdk 安装成功。
    在这里插入图片描述

2.5.4windows 下配置 Golang 环境变量

在这里插入图片描述

  1. 配置环境变量介绍
    根据 windows 系统在查找可执行程序的原理,可以将 Go 所在路径定义到环境变量中,让系统帮我
    们去找运行执行的程序,这样在任何目录下都可以执行 go 指令。
  2. 在 Go 开发中,需要配置哪些环境变量
    在这里插入图片描述
  3. 看老师如何配置
    步骤 1:先打开环境变量配置的界面
    在这里插入图片描述
    步骤 2: 配置我们的环境变量
    在这里插入图片描述

对上图的一个说明:

  1. Path 这个环境变量不需要在创建,因为系统本身就有,你后面增加即可
  2. 增加 Go 的 bin : ;%GOROOT%\bin
    在这里插入图片描述

对上图的一个说明

  1. GOPATH :就是你以后 go 项目存放的路径,即工作目录
  2. GOPATH:是一个新建的环境变量
    测试一下我们的环境变量是否配置 ok
    在这里插入图片描述
    注意:配置环境变量后,需要重新打开一次 dos 的终端,这样环境变量才会生效。

2.6 Linux 下搭建 Go 开发环境-安装和配置 SDK

2.6.1Linux 下安装 SDK:

  1. Linux 下 SDK 的各个版本说明:
    Linux 下:根据系统是 32 位还是 64 位进行下载:
    32 位系统:go1.9.2.linux-386.tar.gz
    64 位系统:go1.9.2.linux-amd64.tar.gz
    如何确认你的 linux 是多少位:
    在这里插入图片描述
  2. 请注意:安装路径不要有中文或者特殊符号如空格等
  3. SDK 安装目录建议: linux 放在 /opt 目录下
  4. 安装时,解压即可,我们使用的是 tar.gz
  5. 看老师演示
    步骤 1: 将 go1.9.2.linux-amd64.tar.gz 传输到 ubuntu
    步骤 2: 将 go1.9.2.linux-amd64.tar.gz 拷贝到 /opt 下
    在这里插入图片描述
    步骤 3: cd /opt
    步骤 4:tar -zxvf go1.9.2.linux-amd64.tar.gz [解压后,就可以看到一个 go 目录]
    步骤 5: cd go/bin
    步骤 6:./go version
    在这里插入图片描述

2.6.2Linux 下配置 Golang 环境变量

步骤 1:使用 root 的权限来编辑 vim /etc/profile 文件
在这里插入图片描述

步骤 2: 如果需要生效的话,需要注销一下(重新登录),再使用
在这里插入图片描述

2.7 Mac 下搭建 Go 开发环境-安装和配置 SDK

2.7.1mac 下安装 Go 的 sdk

  1. Mac 下 SDK 的各个版本说明:
    Mac OS 下:只有 64 位的软件安装包
    Mac OS 系统的安装包:go1.9.2.darwin-amd64.tar.gz
  2. 请注意:安装路径不要有中文或者特殊符号如空格等
  3. SDK 安装目录建议: Mac 一般放在用户目录下 go_dev/go 下
  4. 安装时,解压即可
  5. 看老师的演示步骤
    步骤 1: 先将我们的安装文件 go1.9.2.darwin-amd64.tar.gz 上传到 mac
    步骤 2: 先在用户目录下,创建一个目录 go_dev , 将我们上传的文件 移动到 go_dev 目录
    步骤 3: 解压 tar -zxvf go1.9.2.darwin-amd64.tar.gz
    步骤 4: 解压后,我们会得到一个目录 go, 进入到 go/bin 就是可以使用
    在这里插入图片描述

这里还是有一个问题,就是如果我们不做 bin 目录下,就使用不了 go 程序。因此我们仍然需要配置 go
的环境变量。

2.7.2Mac 下配置 Golang 环境变量

步骤 1:使用 root 用户,修改 /etc/profile 增加环境变量的配置
在这里插入图片描述

步骤 2: 配置完后,需要重新注销用户,配置才会生效.
在这里插入图片描述

2.8 Go 语言快速开发入门

2.8.1需求

要求开发一个 hello.go 程序,可以输出 "hello,world” 2.8.2开发的步骤

  1. 开发这个程序/项目时,go 的目录结构怎么处理
    在这里插入图片描述
  2. 代码如下:
    在这里插入图片描述对上图的说明:
    (1) go 文件的后缀是 .go
    (2) package main
    表示该 hello.go 文件所在的包是 main, 在 go 中,每个文件都必须归属于一个包。
    (3) import “fmt” 表示:引入一个包,包名 fmt, 引入该包后,就可以使用 fmt 包的函数,比如:fmt.Println
    (4) func 是一个关键字,表示一个函数。
    main 是函数名,是一个主函数,即我们程序的入口。
func main() {
}

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

  1. 通过 go build 命令对该 go 文件进行编译,生成 .exe 文件.
    在这里插入图片描述

  2. 运行 hello.exe 文件即可
    在这里插入图片描述

  3. 注意:通过 go run 命令可以直接运行 hello.go 程序 [类似执行一个脚本文件的形式]
    在这里插入图片描述

2.8.3linux 下如何开发 Go 程序

说明:linux 下开发 go 和 windows 开发基本是一样的。只是在运行可执行的程序时,
是以 ./文件名方式
演示: 在 linux 下开发 Go 程序。
在这里插入图片描述
编译和运行 hello.go
在这里插入图片描述

也可以直接使用 go run hello.go 方式运行
在这里插入图片描述

2.8.4Mac 下如何开发 Go 程序

说明:在 mac 下开发 go 程序和 windows 基本一样。
演示一下:如何在 mac 下开发一个 hello.go 程序

  1. 源代码的编写:hello.go
    在这里插入图片描述

  2. 编译再运行,直接 go run 来运行
    在这里插入图片描述

  3. 直接 go run 来运行
    在这里插入图片描述

2.8.5go 语言的快速入门的课堂练习

在这里插入图片描述

2.8.6Golang 执行流程分析

 如果是对源码编译后,再执行,Go 的执行流程如下图
在这里插入图片描述

 如果我们是对源码直接 执行 go run 源码,Go 的执行流程如下图
在这里插入图片描述

 两种执行流程的方式区别

  1. 如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有 go 开发环境的机
    器上,仍然可以运行
  2. 如果我们是直接 go run go 源代码,那么如果要在另外一个机器上这么运行,也需要 go 开发
    环境,否则无法执行。
  3. 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了
    很多。

2.8.7编译和运行说明

  1. 有了 go 源文件,通过编译器将其编译成机器可以识别的二进制码文件。

  2. 在该源文件目录下,通过 go build 对 hello.go 文件进行编译。可以指定生成的可执行文件名,在windows 下 必须是 .exe 后缀。
    在这里插入图片描述

  3. 如果程序没有错误,没有任何提示,会在当前目录下会出现一个可执行文件(windows 下是.exe
    Linux 下是一个可执行文件),该文件是二进制码文件,也是可以执行的程序。

  4. 如果程序有错误,编译时,会在错误的那行报错。有助于程序员调试错误.
    在这里插入图片描述

  5. 运行有两种形式
    在这里插入图片描述

2.8.8Go 程序开发的注意事项

  1. Go 源文件以 “go” 为扩展名。
  2. Go 应用程序的执行入口是 main()函数。 这个是和其它编程语言(比如 java/c)
  3. Go 语言严格区分大小写。
  4. Go 方法由一条条语句构成,每个语句后不需要分号(Go 语言会在每行后自动加分号),这也体
    尚硅谷 Go 语言课程
    更多 Java –大数据 –前端 –python 人工智能 -区块链资料下载,可访问百度:尚硅谷官网 第 29页
    现出 Golang 的简洁性。
  5. Go 编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否
    则报错
    在这里插入图片描述
  6. go 语言定义的变量或者 import 的包如果没有使用到,代码不能编译通过.
    在这里插入图片描述

2.9 Go 语言的转义字符(escape char)

说明:常用的转义字符有如下:

  1. \t : 表示一个制表符,通常使用它可以排版
    在这里插入图片描述
  2. \n :换行符
  3. \ :一个\
  4. " :一个" 5) \r :一个回车 fmt.Println(“天龙八部雪山飞狐\r 张飞”);
  5. 案例截图
    在这里插入图片描述
    课堂练习
    在这里插入图片描述
    作业评讲:
package main 

import "fmt"

func main(){
//要求:要求:请使用一句输出语句,达到输入如下图形的效果
fmt.Println("姓名\t 年龄\t 籍贯\t 地址\njohn\t20\t 河北\t 北京")
}

2.10 Golang 开发常见问题和解决方法

2.10.1 文件名或者路径错误

在这里插入图片描述
2.10.2 小结和提示
学习编程最容易犯的错是语法错误 。Go 要求你必须按照语法规则编写代码。如果你的程序违反了
语法规则,例如:忘记了大括号、引号,或者拼错了单词,Go 编译器都会报语法错误,要求:尝试
着去看懂编译器会报告的错误信息
在这里插入图片描述

2.11 注释(comment)

2.11.1 介绍注释

用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性;
注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去
体现。

2.11.2 在 Golang 中注释有两种形式

  1. 行注释
  • 基本语法
// 注释内容`
  • 举例
    在这里插入图片描述
  1. 块注释(多行注释)
  • 基本语法
/*
注释内容
*/
  • 举例说明
    在这里插入图片描述
  • 使用细节
  1. 对于行注释和块注释,被注释的文字,不会被 Go 编译器执行。
  2. 块注释里面不允许有块注释嵌套 [注意一下]

2.12 规范的代码风格

2.12.1 正确的注释和注释风格:

  1. Go 官方推荐使用行注释来注释整个方法和语句。
  2. 带看 Go 源码

2.12.2 正确的缩进和空白

  1. 使用一次 tab 操作,实现缩进,默认整体向右边移动,时候用 shift+tab 整体向左移
    看老师的演示:
  2. 或者使用 gofmt 来进行格式化 [演示]
    在这里插入图片描述
  3. 运算符两边习惯性各加一个空格。比如:2 + 4 * 5。
    在这里插入图片描述
  4. Go 语言的代码风格. package main
import "fmt"
func main() {
fmt.Println("hello,world!")
}
  • 上面的写法是正确的. package main
import "fmt"
func main()
{
fmt.Println("hello,world!")
}

上面的写法不是正确,Go 语言不允许这样编写。 【Go 语言不允许这样写,是错误的!】
Go 设计者思想: 一个问题尽量只有一个解决方法
5) 一行最长不超过 80 个字符,超过的请使用换行展示,尽量保持格式优雅

  • 举例说明
    在这里插入图片描述

2.13 Golang 官方编程指南

  • 说明: Golang 官方网站 https://golang.org
  • 点击上图的 tour -> 选择 简体中文就可以进入中文版的 Go 编程指南
    在这里插入图片描述
  • Golang 官方标准库 API 文档, https://golang.org/pkg 可以查看 Golang 所有包下的函数和使用
    在这里插入图片描述
  • 解释术语:API
    api : application program interface :应用程序编程接口。
    就是我们 Go 的各个包的各个函数

2.14 Golang 标准库 API 文档

  1. API (Application Programming Interface,应用程序编程接口)是 Golang 提供的基本编程接口。
  2. Go 语言提供了大量的标准库,因此 google 公司 也为这些标准库提供了相应的 API 文档,用于告
    诉开发者如何使用这些标准库,以及标准库包含的方法。
  3. Golang 中文网 在线标准库文档: https://studygolang.com/pkgdoc
  4. Golang 的包和源文件和函数的关系简图
    在这里插入图片描述

2.15 Dos 的常用指令(了解)

2.15.1 dos 的基本介绍

Dos: Disk Operating System 磁盘操作系统, 简单说一下 windows 的目录结构

2.15.2 dos 的基本操作原理

在这里插入图片描述

2.15.3 目录操作指令

  • 查看当前目录是什么
    在这里插入图片描述
    切换到其他盘下:盘符号 F 盘
    案例演示:
    在这里插入图片描述

  • 切换到当前盘的其他目录下 (使用相对路径和绝对路径演示)
    案例演示::
    在这里插入图片描述

  • 切换到上一级:
    案例演示:
    在这里插入图片描述

  • 新建目录 md (make directory)
    新建一个目录:
    在这里插入图片描述
    新建多个目录:
    在这里插入图片描述

  • 切换到根目录:
    案例演示:
    在这里插入图片描述

  • 删除目录
    删除空目录
    在这里插入图片描述
    删除目录以及下面的子目录和文件,不带询问
    在这里插入图片描述

删除目录以及下面的子目录和文件,带询问
在这里插入图片描述

2.15.4 文件的操作

  • 新建或追加内容到文件
    案例演示:
    在这里插入图片描述

  • 复制或移动文件
    复制
    在这里插入图片描述
    移动
    在这里插入图片描述

  • 删除文件
    删除指定文件
    在这里插入图片描述
    删除所有文件
    在这里插入图片描述

2.15.5 其它指令

  • 清屏
    cls [苍老师]
  • 退出 dos
    exit

2.15.6 综合案例

在这里插入图片描述

2.16 课后练习题的评讲

  1. 独立编写 Hello,Golang!程序[评讲]
    在这里插入图片描述
  2. 将个人的基本信息(姓名、性别、籍贯、住址)打印到终端上输出。各条信息分别占一行
    在这里插入图片描述
  3. 在终端打印出如下图所示的效果
    在这里插入图片描述

2.17 本章的知识回顾

  • Go 语言的 SDK 是什么?
    SDK 就是软件开发工具包。我们做 Go 开发,首先需要先安装并配置好 sdk.
  • Golang 环境变量配置及其作用。
    GOROOT: 指定 go sdk 安装目录。
    Path: 指令 sdk\bin 目录:go.exe godoc.exe gofmt.exe
    GOPATH: 就是 golang 工作目录:我们的所有项目的源码都这个目录下。
  • Golang 程序的编写、编译、运行步骤是什么? 能否一步执行?
    编写:就是写源码
    编译:go build 源码 =》 生成一个二进制的可执行文件
    运行:1. 对可执行文件运行 xx.exe ./可执行文件 2. go run 源码
  • Golang 程序编写的规则。
  1. go 文件的后缀 .go
    尚硅谷 Go 语言课程
    更多 Java –大数据 –前端 –python 人工智能 -区块链资料下载,可访问百度:尚硅谷官网 第 43页
  2. go 程序区分大小写
  3. go 的语句后,不需要带分号
  4. go 定义的变量,或者 import 包,必须使用,如果没有使用就会报错
  5. go 中,不要把多条语句放在同一行。否则报错
  6. go 中的大括号成对出现,而且风格
    func main() {
    //语句
    }
  • 简述:在配置环境、编译、运行各个步骤中常见的错误
    对初学者而言,最容易错的地方拼写错误。比如文件名,路径错误。拼写错误

http://lihuaxi.xjx100.cn/news/1149505.html

相关文章

十年软件测试工程师感悟,写给想要转行的软件测试新人

作为一个30岁并且奋战在测试一线的测试员,被人无数次问到这个问题,也回答过无数次。 刚看到知乎上的一个问题:程序员真的干到35岁就干不动了吗?想到在测试行业真的干到35就干不动了吗?软件测试能做到多少岁?也有很多…

unity进阶学习笔记:photonServer测试

photonServer是由photon发布的一个网络框架,其封装了UDP和TCP通信机制让用户可以直接调用API实现网络游戏通信 1 photonServer下载安装 进入Photon官网的SDK选项,选择下载Server。目前Server版本已经更新到v5,这里我为了和教程保持一致下载…

【LeetCode】203,移除链表元素。 难度等级:简单。链表入门题目,值得深入研究。

文章目录 一、题目二、解答:迭代法,引入一个新的头结点三、难点解释 【LeetCode】203,移除链表元素。 难度等级:简单。 本题是链表入门题目,值得深入研究。 一、题目 二、解答:迭代法,引入一个…

设计模式之【迭代器模式】,对集合访问的统一

文章目录 一、什么是迭代器模式1、迭代器模式使用场景2、迭代器模式的优势3、迭代器模式的四种角色4、迭代器模式的优缺点 二、手写一个迭代器1、迭代器模式的一般写法2、课程迭代器 三、源码中的迭代器1、ArrayList 一、什么是迭代器模式 迭代器模式(Iterator Pat…

AD16中如何创建新工作空间

1、双击“DXP.exe” 如果默认安装,DXP.exe文件位于“C:\Program Files (x86)\Altium\AD16”目录下。 2、打开AD后,我们会看到默认工作空间为“Workspace1.DsnWrk” 3、在“F盘”下创建一个文件夹。命名为“AD16学习”。 4、点击“File-Save Design Work…

快速入门matlab——结构体

TOPSIS法(优劣解距离法) 风、光、负荷场景生成;风电出力各场景及概率;光伏出力各场景及概率;负荷各场景及概率;场景的削减;样本概率初始化;样本削减 风电场风速两参数weibull(威布…

怎么将heic格式转化jpg,5种方法立马学

将HEIC格式转换为JPG格式是非常必要的。首先,HEIC(.heic)格式是苹果最新推出的图像格式。与JPEG相比,HEIC可以存储更多的图像信息,同时还支持透明度、深度和动态范围等功能。但由于HEIC格式相对较新,许多设…

#ifdefined(__cplusplus)||defined(c_plusplus) //跨平台定义方法

#ifdef __cplusplus 一般用于将C代码以标准C形式输出(即以C的形式被调用),这是因为C虽然常被认为是C的超集,但是C的编译器还是与C的编译器不同的。C中调用C中的代码这样定义会是安全的。 一般的考虑跨平台使用方法如下&#xff1…