repo介紹(一)

repo簡介

Repo 是我們以 Git 為基礎構建的代碼庫管理工具,可以組織多個倉庫的上傳和下載。它是由一系列的Python腳本組成,封裝了一系列的Git命令,用來統一管理多個Git倉庫
一個大型的項目可能由很多小的倉庫組合而成的,為了方便統一管理各個子項目的Git倉庫,需要一個上層工具批量進行處理,因此repo誕生。
repo也會建立一個Git倉庫,用來記錄當前版本下各個子項目的Git倉庫分別處于哪一個分支,這個倉庫通常叫做:manifest倉庫。

安裝repo引導器

在安裝 Repo 時,必須先要確保已經安裝了 Git 工具,以及 Python2.7 + 的環境,下面是在linux下安裝的流程:
Downloading and installing Git and Python

sudo apt-get install git-core
sudo apt-get install python

Download and install Repo

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://raw.githubusercontent.com/esrlabs/git-repo/stable/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

使用流程

  1. 查看repo引導器文件的內容

REPO_URL = 'https://github.com/esrlabs/git-repo’
REPO_REV = ‘stable’
分別是repo.git倉庫的url和檢出的branch,即下載repo工具的git倉庫

  1. repo init,這一步可以省略,第三步操作會自動執行這個

repo init會從1中指定的REPO_URL中拉出repo工具(在當前目錄會生成.repo/repo)
此時我們只是有了repo工具,但是要想管理多個git,還需要一個清單,來說明要管理那些git,從哪里拉去等等. 這個任務要依賴manifest.git了,正如之前提到的,在repo init的時候,要通過-u url來指定manifest.git的位置.

  1. repo init -u https://gitee.com/angerial/repo-test.git

注意:這里url指向的git倉庫需要有default.xml,即我們需要提前創建一個倉庫。

#就會初始化repo成功.
#但是我們要管理自己的倉庫(其實就是一個倉庫存放default.xml)
#這個倉庫的內容最簡單時是一個default.xml.
#default.xml內容如下:<?xml version="1.0" encoding="UTF-8" ?>
<manifest><remote fetch="https://gitee.com/openharmony/" name="origin" review="https://openharmony.gitee.com/openharmony/"/><default remote="origin" revision="master" sync-j="4" /><project name="graphic_utils" path="foundation/graphic/utils"  />
</manifest>#可以看到,根元素manifest,里邊定義了remote,default,project.
#remote可以多個,每個定義了一個遠程拉取倉庫, fetch是倉庫的url, 可以使用”..”表示使用repo init -u url里的url
#default則設置每個項目的默認倉庫和默認分支
#project定義了一個項目,它指明一個遠程倉庫,和clone到本地來后的目錄名稱. name為項目的遠程倉庫名,以上代碼拉取的項目是git://localhost/helo
  1. 參考repo組成,修改相關文件,即拉取哪些倉庫
  2. 拉代碼到本地

repo sync -c

repo組成

Repo 主要包括兩部分:Repo 引導器(Google 稱之為 Repo launcher)和 Repo 命令的主體部分。那么 Repo 倉庫究竟有些什么東西呢,在我們初始化 Repo 倉庫之后,會出現一個. repo 的文件夾,里面有如下內容:

root@l-virtual-machine:~/test/repo/.repo# tree -L 1
├── manifests
├── manifests.git
├── manifest.xml -> manifests/default.xml
└── repo
3 directories, 1 file

當執行 repo init 命令來初始化倉庫的時候首先執行的就是 Repo 的引導腳本,該腳本會到我們指定的地方去下載 Manifest 倉庫,以及 Repo 命令主體部分。下載好之后就放在當前目錄下面的**.repo**目錄下,其中:

文件夾用途
manifests清單文件的倉庫
manifests.git清單文件的 Git 裸倉庫,不帶工作區
manifest.xml這是一個鏈接文件,指向你的用于初始化工作區的清單文件,即manifests/default.xml
project.list一個文本文件,里面包含所有項目名字的列表
projects該文件夾下包含所有 git project 的裸倉庫,文件夾的層次結構跟工作區的布局一樣
repo這是 repo 命令的主體,其中也包含最新的 repo 命令,推薦使用這里面的 repo 命令
<?xml version="1.0" encoding="UTF-8" ?>

<manifest>
<remote fetch="https://gitee.com/openharmony/" name=“origin” review="https://openharmony.gitee.com/openharmony/"/>
<default remote=“origin” revision=“master” sync-j=“4” />
<project name=“graphic_utils” path=“foundation/graphic/utils” />
</manifest>

manifest 元素

xml 文件的根元素

remote 元素

可以存在一個或者多個 remote 元素,remote 元素指定了使用 repo upload 命令的時候,會將改變提交到哪個服務器。

name: 遠程git服務器的名字,直接用于git fetch, git remote 等操作
alias: 遠程git服務器的別名,如果指定了,則會覆蓋name的設定。在一個manifest(可以理解為default.xml)中, name不能重名,但alias可以重名。
fetch: 所有projects的git URL 前綴
review: 指定Gerrit的服務器名,用于repo upload操作。如果沒有指定,則repo upload沒有效果。

default 元素

default 元素中指定的屬性都是一些缺省的屬性。即如果 project 元素中不存在該屬性,則使用在 default 元素中指定的屬性。

revision:Git 分支的名字。如果 project 元素沒有指定 revision 屬性,那么就使用 default 元素的該屬性。revision 屬性的值可以是一個 git branch,git tag,也可以是一個 commit id。
sync-j:sync 的時候,并行工作的任務數。
sync-c:如果設置為 true,則在同步代碼的時候,將只會同步 project 元素中 revision 屬性中指定的分支。如果 project 元素沒有指定 revision 屬性,則使用 default 元素的 revision 屬性。
sync_s: 如果設置為true,則會同步git的子項目
remote: 之前定義的某一個remote元素中name屬性值,用于指定使用哪一個遠程git服務器。

project 元素

xml 文件中可以指定一個或者多個 project 元素。 每一個 project 元素都描述了一個需要 pull 到本地的 git 倉庫。
project 元素中有很多可以使用的屬性,在此只介紹幾個我們經常使用的屬性。

name: 唯一的名字標識project,同時也用于生成git倉庫的URL。格式如下:
remotefetch/{remote_fetch}/remotef?etch/{project_name}.git
path:可選的路徑,該 指定git clone出來的代碼存放在本地的子目錄。如果沒有指定,則以name作為子目錄名。
remote: 指定之前在某個remote元素中的name。
revision:指定需要獲取的git提交點,可以是master, refs/heads/master, tag或者SHA-1值。如果不設置的話,默認下載當前project,當前分支上的最新代碼。
sync_c: 如果設置為true,則只同步指定的分支(revision 屬性指定),而不是所有的ref內容。
sync_s: 如果設置為true,則會同步git的子項目。
groups: 列出project所屬的組,以空格或者逗號分隔多個組名。
upstream: 在哪個git分支可以找到一個SHA1。用于同步revision鎖定的manifest(-c 模式)。該模式可以避免同步整個ref空間。
annotation: 可以有多個annotation,格式為name-value pair。在repo forall 命令中這些值會導入到環境變量中。
remove-project: 從內部的manifest表中刪除指定的project。經常用于本地的manifest文件,用戶可以替換一個project的定義

Include元素

通過name屬性可以引入另外一個manifest文件(路徑相對與manifest repository’s root)。

常用命令

repo init

repo init -u manifest_git_path -m manifest_file_name -b branch_name --repo-url=repo_url --no-repo-verify

在當前目錄下安裝 Repo。這會產生一個 .repo/ 目錄,目錄包括裝 Repo 源代碼和標準 Android 清單文件的 Git 倉庫。.repo/ 目錄還包括 manifest.xml,是一個在 .repo/manifests/ 目錄選擇清單的符號鏈接。
選項:

-u: 指定Manifest庫的Git訪問路徑。
-m: 指定要使用的Manifest文件。
-b: 指定要使用Manifest倉庫中的某個特定分支。
–repo-url: 指定要檢查repo是否有更新的遠端repoGit庫的訪問路徑。
–no-repo-verify: 指定不檢查repo庫是否需要更新。

repo sync

repo sync [project_name]

用于參照清單文件克隆并同步版本庫。可以使用repo sync project_name的形式只克隆某個項目。
實現參照清單.repo/manifests.xml克隆并同步版本庫,如果版本庫不存在,則相當于執行

git clone

如果版本庫已經存在,則相當于執行

#對每個remote源進行fetch操作
git remote update#針對當前分支的跟蹤分支進行rebase操作
git rebase/origin/branch

選項:

-d:切換指定項目回到清單修正。如果該項目目前是一個主題分支那就有幫助,但清單修正是暫時需要。
-s:同步到一個已知的構建 manifest-server 在當前清單指定的元素。
-f:繼續同步其他項目,即使有項目同步失敗。

repo start

repo start <newbranchname> [--all|<project>...]

創建并切換分支。剛克隆下來的代碼是沒有分支的,repo start實際是對git checkout -b命令的封裝。
為指定的項目或所有的項目(若使用-all),以清單文件中為設定的分支,創建特定的分支。
這條指令與git checkout -b 還是有很大區別的。
· git checkout -b 是在當前所在的分支的基礎上創建特性分支。
· 而repo start 是在清單文件設定的分支的基礎上創建特性分支。

repo start stable --all

假設清單文件中設定的分支是gingerbread-exdroid-stable,那么執行以上指令就是對所有項目,在gingerbread-exdroid-stable的基礎上創建特性分支stable。

repo start stable platform/build platform/bionic

假設清單文件中設定的分支是gingerbread-exdroid-stable,那么執行以上指令就是對platform/build、platform/bionic項目,在gingerbread-exdroid-stable的基礎上創建特性分支stable。

repo checkout

<branchname> [<rpoject>...]{{{repo checkout <branchname> [<project>...]}}} 

切換分支。 實際上是對git checkout命令的封裝,但不能帶-b參數,所以不能用此命令來創建特性分支。
示例:

repo checkout liuq-dev
repo checkout liuq-dev skipper/build platform/bionic

repo branches

repo branches [<project>...]

查看分支。
示例:

repo branches
repo branches skipper/build skipper/release#查看可切換的分支
cd .repo/manifests
git branch -a | cut -d / -f 3

repo diff

repo diff [<project>...]

查看工作區文件差異。實際是對git diff命令的封裝,用于分別顯示各個項目工作區下的文件差異。在 commit 和工作目錄之間使用 git diff 顯示明顯差異的更改。
示例:

#查看所有項目
repo diff#只查看其中的兩個項目
repo diff skipper/build skipper/release

repo stage

repo stage -i [<project>...]

把文件添加到index表中。實際上是對git add –interactive命令的封裝,用于挑選各個項目中的改動以加入暫存區。
-i表示git add –interactive命令中的–interactive,給出一個界面供用戶選擇。

repo prune

repo prune [<project>...]

刪除已經合并分支。實際上是對git branch -d 命令的封裝,該命令用于掃描項目的各個分支,并刪除已經合并的分支。

repo abandon

repo abandon <branchname> [<rpoject>...]

刪除指定分支。實際是對git brance -D命令的封裝。

repo status

repo status [<project>...]

查看文件狀態。
示例:

#輸出skipper/build項目分支的修改狀態repo status skipper/build

每個小節的首行顯示項目名稱,以及所在的分支的名稱。
每個字母表示暫存區的文件修改狀態。

字母含義描述
-無變化沒有修改,在 HEAD 和在索引中是一樣的
A添加不在HEAD中,在暫存區中
M修改在HEAD中, 在暫存區中,內容不同
D刪除在HEAD中,不在暫存區
R重命名不在HEAD中,在暫存區中
C拷貝不在HEAD中,在暫存區,從其他文件拷貝
T文件狀態改變在HEAD中,在暫存區,內容相同
U未合并需要沖突解決

第二個字符表示工作區文件的更改狀態。

字母含義描述
-新/未知不在暫存區,在工作區
m修改在暫存區,在工作區,被修改
d刪除在暫存區,不在工作區

兩個表示狀態的字母后面,顯示文件名信息。如果有文件重名還會顯示改變前后的文件名及文件的相似度。

repo remote

repo remote add <remotename> <url> [<project>...]
repo remote rm <remotename> [<project>...]

設置遠程倉庫。
示例:

repo remote add org ssh://10.11.10.11/git_repo

這個指令根據xml文件添加的遠程分支,方便于向服務器提交代碼,執行之后的build目錄下看到新的遠程分支org。

#刪除遠程倉庫
repo remote rm org

repo push

repo push <remotename> [--all|<project>...]

向服務器提交代碼。repo會自己查詢需要向服務器提交的項目并提示用戶。
示例:

repo push org

repo forall

repo forall [<project>...] -c <command>

迭代器,可以在所有指定的項目中執行同一個shell指令。
選項:

-c 后面所帶的參數是shell指令,即執行命令和參數。命令是通過 /bin/sh 評估的并且后面的任何參數就如 shell 位置的參數通過。
-p 在shell指令輸出之前列出項目名稱,即在指定命令的輸出前顯示項目標題。這是通過綁定管道到命令的stdin,stdout,和 sterr 流,并且用管道輸送所有輸出量到一個連續的流,顯示在一個單一的頁面調度會話中。
-v 列出執行shell指令輸出的錯誤信息,即顯示命令寫到 sterr 的信息。

附加環境變量:

REPO_PROJECT 指定項目的名稱
REPO_PATH 指定項目在工作區的相對路徑
REPO_REMOTE 指定項目遠程倉庫的名稱
REPO_LREV 指定項目最后一次提交服務器倉庫對應的哈希值
REPO_RREV 指定項目在克隆時的指定分支,manifest里的revision屬性

如果-c后面所帶的shell指令中有上述環境變量,則需要用單引號把shell指令括起來。

添加環境變量

repo forall -c 'echo $REPO_PROJECT'
repo forall -c 'echo $REPO_PATH'

合并多個分支

repo forall -p -c git merge topic

把所有項目都切換到master分支,執行上述指令將topic分支合并到master分支。

打標簽

repo forall -c git tag crane-stable-1.6

在所有項目下打標簽。

設置遠程倉庫

repo forall -c 'git remote add korg ssh://xiong@172.16.31/$REPO_PROJECT.git'

引用環境變量REPO_PROJECT添加遠程倉庫。

#刪除遠程倉庫。
repo forall -c git remote rm korg

創建特性分支

repo forall -c git branch crane-dev
repo forall -c git checkout -b crane-dev

repo grep

repo grep {pattern | -e pattern} [<project>...]

打印出符合某個模式的行。相當于對 git grep 的封裝,用于在項目文件中進行內容查找。
示例:

#要找一行, 里面有#define, 并且有'MAX_PATH' 或者 'PATH_MAX':
repo grep -e '#define' --and -\( -e MAX_PATH -e PATH_MAX \)#查找一行, 里面有 'NODE'或'Unexpected', 并且在一個文件中這兩個都有的.
repo grep --all-match -e NODE -e Unexpected

repo manifest

repo manifest [-o {-|NAME.xml} [-r]]

manifest檢驗工具,用于顯示manifest文件內容。
選項:

-h, –help 顯示這個幫助信息后退出
-r, –revision-as-HEAD 把某版次存為當前的HEAD
-o -|NAME.xml, –output-file=-|NAME.xml 把manifest存為NAME.xml

repo version

repo version

顯示repo的版本號。
選項:

-h, –help 顯示這個幫助信息后退出.

repo upload

repo upload [--re --cc] {[<project>]...|--replace <project>}

repo upload 相當于git push,但是又有很大的不同。它不是將版本庫改動推送到代碼審核服務器(Gerrit軟件架設)的特殊引用上,使用SSH協議。代碼審核服務器會對推送的提交進行特殊處理,將新的提交顯示為一個待審核的修改集,并進入代碼審核流程,只有當審核通過后,才會合并到官方正式的版本庫中。
選項:

-h, –help 顯示幫助信息
-t 發送本地分支名稱到Gerrit代碼審核服務器
–replace 發送此分支的更新補丁集
–re=REVIEWERS 要求指定的人員進行審核
–cc=CC 同時發送通知到如下郵件地址

repo download

repo download {project change[/patchset]}

repo download命令主要用于代碼審核者下載和評估貢獻者提交的修訂。
貢獻者的修訂在Git版本庫中refs/changes//引用方式命名(缺省的patchset為1),和其他Git引用一樣,用git fetch獲取,該引用所指向的最新的提交就是貢獻者待審核的修訂。
使用repo download命令實際上就是用git fetch獲取到對應項目的refs/changes//patchset>引用,并自動切換到對應的引用上。

repo selfupdate

repo selfupdate

用于 repo 自身的更新。如果有新版本的repo存在, 這個命令會升級repo到最新版本。通常這個動作在repo sync時會自動去做, 所以不需要最終用戶手動去執行。
選項:

-h, –help 顯示這個幫助信息后退出.
–no-repo-verify 不要驗證repo源碼.

repo help

repo help [--all|command]

顯示命令的詳細幫助。
選項:

-h, –help 顯示這個幫助信息后退出
-a, –all 顯示完整的命令列表

總結

通過上面我們發現repo只是一個封裝了git命令的工具,用來管理好多倉庫的一個頂級目錄。使用時:

  1. 先下載repo引導器
  2. 修改引導器的repo網址下載repo工具
  3. 創建存放default.xml的git倉庫
  4. repo init初始化repo
  5. 拉取代碼

本文章僅供學習交流用禁止用作商業用途,文中內容來水枂編輯,如需轉載請告知,謝謝合作
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531326.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531326.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531326.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

hash長度擴展攻擊

作為一個信息安全的人&#xff0c;打各個學校的CTF比賽是比較重要的&#xff01; 最近一個朋友發了道題目過來&#xff0c;發現有道題目比較有意思&#xff0c;這里跟大家分享下 這串代碼的大致意思是&#xff1a; 這段代碼首先引入了一個名為"flag.php"的文件&am…

repo介紹(二)

這篇文章來實例操作 安裝repo&#xff0c;參考repo介紹這一節創建repo存放default.xml 的git倉庫 初始化repo&#xff0c;repo init -u https://gitee.com/angerial/repo-test.git 這個時候會在當前目錄生成如下文件 參考repo組成&#xff0c;修改.repo/manifest.xml,這里我的…

springmvc環境搭建以及常見問題解決

1.新建maven工程 a) 打開eclipse&#xff0c;file->new->project->Maven->Maven Project b) 下一步 c) 選擇創建的工程為webapp&#xff0c;下一步 d) 填寫項目的group id和artifact id。一般情況下&#xff0c;group id寫域名的倒序&#xff0c;artifact id…

eclipse build workspace太慢或者 js出錯問題解決

1.js文件錯誤解決辦法 右鍵項目->properties->Builders(注&#xff1a;JavaScript Validator也會引起 build workspace太慢) 2.Eclipse 一直不停 building workspace完美解決總結&#xff08;來自: http://blog.163.com/shadow_wolf/blog/static/18346909720145279519222…

HttpUrlConnection發送url請求(后臺springmvc)

1.HttpURLConnection發送url請求 public class JavaRequest {private static final String BASE_URL "http://localhost:8080/dsdemo/";public static String userToken null;public static String problemName null;public static String sendPost(String sufUrl…

springmvc+jpa實現分頁的兩種方式

1.工具類 public final class QueryTool {public static PageRequest buildPageRequest(int pageNumber, int pageSize, String sortType){Sort sort null;if("auto".equals(sortType)) {sort new Sort(Direction.DESC, "ctime");} else {sort new Sort…

不使用session,借助redis實現驗證碼

1.首先看一下基本的流程 2.看一下代碼 注&#xff1a;其中用到的一些工具類&#xff0c;可以到我的github上去下載 https://github.com/hjzgg/usually_util/tree/master/utils windows 下的 redis下載 https://github.com/hjzgg/redis 獲取驗證碼的tooken RequestMapping(value…

PS批處理的使用

一、 前言 做開發的時候&#xff0c;最多的時候就是圖片的使用了。有時候圖片的處理都按照同樣的步驟&#xff0c;比如說統一將圖片的大小調整為固定大小&#xff0c;或者統一在所有的圖片的的某個位置上加入文字或者小圖片等等&#xff0c;這時候PS的批處理可以幫你完成這些重…

exe4j的使用

下載&#xff1a;http://download.cnet.com/exe4j/3000-2070_4-144405.html 參考&#xff1a;http://blog.chinaunix.net/uid-25749806-id-4380850.html 注&#xff1a;打包成jar包的一般就是src目錄&#xff0c;其他目錄放到目標文件夾中&#xff0c;目錄結構如下 如何解決exe…

c語言指針和數組的聯系

c語言指針與數組**一、指針與一維數組**1.一維數組的存儲方式2. 對一維數組名的理解3. 數組下標和指針的關系4.一位數組名與取數組首地址的區別**二、指針與二維數組**1.二維數組的存儲方式2.二維數組下標和指針的對應關系例題:懷著忐忑的心情寫了人生第一篇博客......誠惶誠恐…

android模擬器默認位置的修改

1.創建ANDROID_SDK_HOME環境變量&#xff0c;如ANDROID_SDK_HOMED:\eclipse_android\android-sdk 2.在ANDROID_SDK_HOME目錄下&#xff0c;建立.android目錄 3.默認的avd路徑是C:\Users\Administrator\.android, 將里面的內容放入到ANDROID_SDK_HOME中的.android目錄下 4.windo…

python 求出4行5列的二維數組周邊元素之和

題目:求出4行5列的二維數組周邊元素之和 代碼&#xff1a; import random x [[random.randint(1,10)for j in range(5)]for i in range(4)] for item in x:print(item) y [x[0][0],x[0][1],x[0][2],x[0][3],x[0][4],x[1][0],x[1][4],x[2][0],x[2][4],x[3][0],x[3][4]] prin…

android表白app

一、前言 馬上就要520和521了&#xff0c;是不是還有像我一樣的單身狗啊。我就知道有&#xff0c;所以這兩天簡單寫了這個小程序&#xff08;其實是替別人寫的&#xff09;&#xff0c;雖然我并不會用去騙女孩子&#xff08;因為最近太忙了&#xff0c;實習完之后要搞畢設&…

c語言:malloc函數的簡介

文章目錄一、為什么需要malloc函數&#xff1f;二、如何使用malloc函數&#xff1f;三、用malloc函數自定義數組長度一、為什么需要malloc函數&#xff1f; 用于解決傳統數組以下缺點。 ①傳統數組的長度必須要事先指定。 ②傳統數組的內存無法手動釋放。 ③傳統數組的長度定義…

webpack+react+es6開發模式

一、前言 實習了兩個月&#xff0c;把在公司用到的前端開發模式做個簡單的整理。公司里前端開發模式webpackreactreduxes6&#xff0c;這里去掉了redux。 webpack, react, redux等學習網址&#xff1a;http://www.cnblogs.com/hujunzheng/p/5405780.html 二、簡單的步驟條組件 …

c語言輸入字符時控制符%c前加空格的原因解釋

文章目錄一、前景知識1、緩沖區2、標準輸入流二、scanf語句的執行1、scanf對于整形%d的輸入2、scanf對于字符%c的輸入在編一個代碼時偶然間發現一個知識盲點…用scanf語句輸入字符時需要在控制符%c前加空格。在解釋相關這個原因前我們需要了解幾個相關知識點。 一、前景知識 1…

git命令分類圖

轉載于:https://www.cnblogs.com/hujunzheng/p/5560826.html

python中為什么沒有自增或者自減

在c語言和c中我們經常會用到自增或者自減的語句&#xff0c;但對于python中如果運用這種格式便會報錯…why&#xff1f; 一、預備知識 小整數池 python中為了提高儲存效率&#xff0c;對于int類型的整型變量的儲存&#xff0c;有一個專門的小整數池&#xff0c;它會存放-5到256…

數據結構算法模擬系統

一、前言 學習數據結構已經有很長時間了&#xff0c;加上之前搞過一段時間的ACM&#xff0c;雖然搞得并不怎么樣吧&#xff0c;但是喜歡的東西不能放棄&#xff0c;一直打算寫一個算法模擬系統&#xff0c;對常用的一些算法進行簡單的模擬&#xff0c;于是我的畢業設計就這樣誕…

python語言map函數及map object at 亂碼錯誤

文章目錄一、map函數的簡介1、map函數的作用2、語法格式3、舉例例1、例2、二、報錯一、map函數的簡介 1、map函數的作用 對某個序列以給定的函數格式作映射。 2、語法格式 map(function,iterable) ??function可以填函數&#xff0c;也可以填數據類型 3、舉例 例1、 a [1,2,…