介绍各种编程语言

news2024/11/27 20:23:23

 记得点个赞再看哦

常见的编程语言

在当今的计算机编程领域,有许多种编程语言,以下是一些常见的编程语言:

  • Python:是一种代表简单思想的语言,具有极其简单的语法,是FLOSS(自由/开放源码软件)之一。它无需考虑底层细节,如内存管理等,并且已被移植到很多平台,包括Linux、Windows等众多系统。它既支持面向过程编程也支持面向对象编程,还具有可扩展性、可嵌入型的特点,其标准库庞大,能处理各种工作,像正则表达式、文档生成等。

  • Java:这是一门面向对象编程语言,吸收了C++语言的优点,摒弃了多继承、指针等较难理解的概念。它具有简单性、面向对象、分布性、编译和解释性、稳健性、安全性、可移植性、高性能、多线索性、动态性等特点。

  • C:C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来,运算符丰富包含34个运算符,数据类型也很丰富,如整型、实型、字符型等。C是结构式语言,语法限制不太严格、程序设计自由度大,允许直接访问物理地址,可直接对硬件进行操作,程序生成代码质量高,执行效率高,适用范围大且可移植性好。

  • C++:在C语言的基础上开发的面向对象编程语言,尽量兼容C,支持面向对象的方法,操持了C简洁、高效接近汇编语言等特点,对C的类型系统进行了改革的扩充。

  • JavaScript:是一种解释型的脚本语言,是在程序的运行过程中逐行进行解释。它是一种基于对象的脚本语言,不仅可以创建对象,也能使用现有的对象,具有简单、动态性、跨平台性等特点。

  • C#:是一种最新的、面向对象的编程语言,具有简单、现代、面向对象、类型安全、相互兼容性、可伸缩性和可升级性等主要特点。

  • Ruby:是一种简单快捷的面向对象脚本语言,具有简洁的语法,代码可读性高。Ruby强调程序员的幸福度,提供了很多方便的语法糖,让编程变得更加愉悦。它在Web开发(特别是Ruby on Rails框架)、脚本编写、自动化测试等方面有广泛应用。

  • PHP:是基于C语言开发的解释型语言,主要用于开发Web应用后台,与MySQL完美融合,为互联网应用贡献了很多力量。

  • Objective - C:通常写作ObjC或OC,是扩充C的面向对象编程语言,主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统。不过随着Swift的推出,Objective - C的使用率在逐渐下降,在过去六年中失去了三分之二的用户,目前使用的人较少。

这些编程语言在不同的领域和任务中发挥着重要作用,开发者可以根据项目需求和自身技能选择合适的编程语言。

不同编程语言的特点

Python的特点

  • 简单易学:Python的语法简洁明了,代码结构清晰,对于初学者来说非常容易上手。例如,定义一个简单的函数只需要使用“def”关键字,而不像其他语言可能需要更多的样板代码。

  • 开源免费:Python是开源的,这意味着任何人都可以自由地使用、修改和分发它的源代码。这种开源特性促进了Python社区的蓬勃发展,大量的开发者为其贡献代码、库和工具。

  • 可移植性强:可以轻松地在不同的操作系统之间进行移植,无论是Linux、Windows还是MacOS等,几乎都能运行Python程序,这使得它成为跨平台开发的理想选择。

  • 丰富的库和框架:拥有大量的标准库和第三方库,涵盖了从数据科学、人工智能到Web开发等众多领域。比如在数据科学中,NumPy用于数值计算,pandas用于数据处理和分析,Matplotlib用于数据可视化等。

  • 面向对象编程支持:支持面向对象编程范式,允许创建类和对象,实现封装、继承和多态等面向对象的特性,使得代码更加模块化、可维护和可扩展。

Java的特点

  • 跨平台性:Java的“一次编写,到处运行”特性非常著名。这是通过Java虚拟机(JVM)实现的,Java程序被编译成字节码,然后可以在任何安装了JVM的操作系统上运行,如Windows、Linux、MacOS等。

  • 内存管理自动化:具有垃圾回收机制,能够自动管理内存,不需要程序员手动分配和释放内存,减少了内存管理方面的错误,但垃圾回收过程可能会占用一定的系统资源。

  • 安全性高:实现了“安全沙箱”机制,对代码的执行进行限制,确保代码在执行时不会损害系统或其他程序。例如,在网络应用中,可以防止恶意代码对本地系统的破坏。

  • 面向对象特性完善:作为一种面向对象的语言,全面支持封装、继承、多态等面向对象特性,有助于构建复杂的大型软件系统。

C语言的特点

  • 简洁紧凑与高效:C语言的语法简洁,关键字和控制语句数量有限,代码量通常较小且执行速度快。例如,它可以用较少的代码实现复杂的功能,适合对性能要求较高的系统级编程。

  • 直接操作硬件:允许直接访问物理地址,能够直接对硬件进行操作,这使得它在操作系统开发、嵌入式系统编程等需要与硬件紧密交互的领域有着广泛的应用。

  • 丰富的数据类型和运算符:数据类型丰富,包括整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等,运算符也涵盖了很广泛的范围,共有34个运算符,可以实现多种复杂的数据操作和运算。

  • 良好的可移植性:C语言编写的程序可以在不同的操作系统和硬件平台上进行编译运行,这种可移植性使得它成为许多系统软件开发的首选语言。

C++的特点

  • 兼容C语言:C++在C语言的基础上发展而来,尽量保持与C语言的兼容性,这意味着C语言的代码可以在C++环境下编译运行,同时C++又增加了面向对象等新的特性。

  • 面向对象特性强大:是一种强大的面向对象编程语言,支持封装、继承和多态等面向对象的特性,能够帮助程序员写出更加高效、易于维护的程序。

  • 高性能:作为编译型语言,与解释型语言相比,C++拥有更快的运行速度,可以开发高性能的应用程序,适合游戏开发、科学计算等对性能要求苛刻的领域。

  • 丰富的库支持:拥有丰富的库支持,如标准模板库(STL)、Boost库等,这些库提供了各种数据结构和算法的实现,便于程序员编写程序,提高开发效率。

JavaScript的特点

  • 脚本语言特性:JavaScript是一种解释型的脚本语言,不需要编译过程,可以直接在浏览器或服务器端运行,在程序的运行过程中逐行进行解释执行,方便快速开发和调试。

  • 基于对象:是一种基于对象的语言,虽然不是纯粹的面向对象语言,但可以创建对象并使用对象的属性和方法,能够方便地操作HTML文档对象模型(DOM),实现网页的动态交互效果。

  • 动态性:JavaScript是动态类型的语言,变量的数据类型在运行时可以改变,这使得它在编写灵活的脚本和动态网页应用时非常方便,但也可能带来一些类型错误的风险。

  • 跨平台性:可以在不同的操作系统和浏览器上运行,无论是Windows、Linux还是MacOS系统,以及各种主流的浏览器如Chrome、Firefox、Safari等,都支持JavaScript。

C#的特点

  • 完全面向对象:C#是一种精确、简单、类型安全、面向对象的语言,所有的代码都被组织在类和对象中,实现了封装、继承、多态等面向对象的基本特征,并且添加了事件和委托,增强编程的灵活性。

  • 支持分布式应用开发:C#一出生就被设计用来解决分布式问题,能够很好地支持分布式应用程序的开发,处理过程可以分布在客户机和服务器上。

  • 安全性和类型安全:安全性由.net平台提供,代码编译后成为中间语言(IL),.net平台提供类型安全检查等机制保证代码是安全的。

  • 可移植性和中间语言机制:使用类似Java的中间语言机制,使得C#代码可以很方便地移植到其他系统。在运行时,中间代码再被编译为适合特定机器的代码。

Ruby的特点

  • 简洁的语法:Ruby具有简洁而富有表现力的语法,代码看起来非常简洁明了。例如,定义一个简单的方法只需要一行代码,这种简洁性使得编写代码的速度更快,也提高了代码的可读性。

  • 动态类型系统:Ruby是动态类型的语言,变量不需要声明类型,类型在运行时确定。这使得代码编写更加灵活,但也需要开发者更加注意类型相关的问题。

  • 元编程能力:Ruby具有强大的元编程能力,允许在运行时修改类、对象和方法的定义。这一特性可以用于创建灵活的框架和工具,提高代码的复用性。

  • 以程序员幸福度为导向:Ruby的设计理念强调程序员的幸福度,提供了很多方便的语法糖和简洁的表达方式,让编程过程变得更加愉悦,适合快速开发和迭代的项目。

PHP的特点

  • 专门用于Web开发:PHP主要用于开发Web应用的后台,与Web服务器(如Apache、Nginx等)和数据库(如MySQL)配合良好,可以快速地构建动态网页。

  • 简单的语法和嵌入能力:语法简单,容易学习,并且可以方便地嵌入到HTML文件中,使得在网页中混合编写PHP代码和HTML代码非常容易,降低了Web开发的门槛。

  • 丰富的Web相关函数库:拥有大量与Web开发相关的函数库,如处理表单数据、操作数据库、发送电子邮件等,这些函数库使得开发Web应用更加高效。

Objective - C的特点

  • 扩充C的面向对象语言:Objective - C是扩充C的面向对象编程语言,它继承了C语言的一些特性,如简洁高效的代码结构,同时又增加了面向对象的编程能力。

  • 与苹果系统紧密结合:主要应用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,在苹果的iOS和MacOS应用开发中曾经占据重要地位,与苹果的框架(如Cocoa和Cocoa Touch)集成良好,可以方便地调用苹果系统的API来开发功能丰富的应用程序。

不同编程语言的特点决定了它们在不同领域的适用性,开发者需要根据项目的具体需求和目标来选择合适的编程语言。

编程语言的应用领域

Python的应用领域

  • 数据科学与数据分析:Python在数据科学领域有着广泛的应用。由于其丰富的库,如NumPy用于高效的数值计算,pandas用于数据处理和分析,Matplotlib和Seaborn用于数据可视化等,使得数据科学家能够快速地进行数据探索、分析和可视化。在统计分析、数据挖掘等方面,Python也提供了很多工具和库,如SciPy。

  • 机器学习与人工智能:是最流行的机器学习语言之一。许多强大的框架和库,如TensorFlow、Keras、PyTorch等都是基于Python开发的。这些框架可以用于构建和训练各种机器学习模型,包括图像识别、语音识别、自然语言处理等人工智能领域的任务。

  • Web开发:通过Django、Flask和Pyramid等Web框架,开发者可以快速构建高效的Web应用程序。这些框架提供了路由、模板引擎、数据库集成等功能,使得Web开发更加高效和便捷。

  • 自动化测试:可以使用模拟浏览器行为的工具(如Selenium)来测试Web应用程序。此外,Python还可以用于编写各种自动化脚本,如系统测试脚本、数据采集脚本等。

  • 游戏开发:Pygame是一个流行的游戏开发框架,提供了丰富的游戏开发资源,虽然Python在游戏开发中的性能相对一些编译型语言较低,但对于一些小型游戏、教育游戏或者游戏原型开发来说,是一个很好的选择。

  • 系统工具和管理员脚本:简单易用性使其成为编写系统脚本和工具的理想选择。例如,可以编写自动备份脚本、系统监控脚本等,方便系统管理员进行日常的系统管理和维护工作。

  • 嵌入式设备:在嵌入式设备中运行Python可以进行控制、数据采集和处理等操作。虽然在资源受限的嵌入式设备中,Python的性能和资源占用可能是一个挑战,但在一些对性能要求不是特别高的嵌入式场景中,Python的易用性和快速开发能力使其具有一定的优势。

Java的应用领域

  • 安卓应用开发:Android操作系统使用Java语言来构建应用程序,Java提供了丰富的类库和开发工具,方便开发者创建各种类型的安卓应用,从简单的工具类应用到复杂的游戏和社交应用。

  • 企业级应用开发:在企业级应用开发中广泛使用,如企业资源规划(ERP)系统、客户关系管理(CRM)系统等。Java的面向对象特性、可移植性和安全性使得它适合构建大型、复杂、需要长期维护的企业级软件系统。

  • 大数据技术:Hadoop和其他的大数据技术在不同程度上使用着Java。例如,Apache的基于Java的Hbase、Accumulo和ElasticSearch等,Java的高性能、多线程和内存管理机制适合处理大数据量的存储、处理和分析任务。

  • 金融和电子商务应用:在金融行业,Java用于开发各种金融服务应用,如银行核心业务系统、证券交易系统等。在电子商务领域,Java可以用于构建电商平台的后端服务,如订单处理、库存管理等系统。

  • 嵌入式设备:Java在嵌入式设备领域也有很大的应用,因为Java代码可以写成小型且可靠的二进制文件,并使用少量内存运行。例如,一些智能卡、机顶盒等嵌入式设备可以使用Java开发。

  • Web应用开发:大部分企业喜欢使用Spring MVC构建Web应用程序的后端,使用Angular或React.js 前端框架来构建应用程序的前端,Java的可移植性和高性能使得它在Web应用开发中也有重要的地位。

C语言的应用领域

  • 操作系统开发:C语言最初是为Unix操作系统开发而诞生的,自此以后,在操作系统、网络和文件系统等底层编程方面,C语言都得到了广泛应用。目前,Linux、Windows、Mac OS等操作系统内核仍然大量使用C语言编写。C语言能够直接操作硬件资源,这对于操作系统开发中与硬件交互的部分非常关键。

  • 嵌入式系统:许多嵌入式设备,如智能手机、平板电脑、家用电器、汽车电子等等,使用C语言的代码作为它们的内置软件。C语言的高效性和对硬件的直接控制能力,使得它在资源受限的嵌入式设备中能够发挥出良好的性能。

  • 数据库系统:许多数据库管理系统(例如MySQL、Oracle、SQLite)也是使用C语言来实现的。C语言可以高效地处理数据存储、查询和管理等操作,满足数据库系统对性能和稳定性的要求。

  • 编译器和解释器:C语言编写编译器和解释器是非常常见的,例如GNU C编译器就是一个基于C开发并使用C作为其源码的绝大部分。C语言的灵活性和高效性使其适合编写编译器和解释器这种对性能和底层操作要求较高的软件。

  • 游戏开发:许多游戏,特别是图形游戏(如FPS游戏和角色扮演游戏),会使用C语言与图形处理器交互,实现游戏动画和操作。C语言可以直接操作硬件资源,能够充分利用计算机的性能来实现高质量的游戏画面和流畅的游戏体验。

  • 其他领域:在音频处理、图像处理、通信、加密等方面,C语言也有很多应用。例如,在音频处理中,C语言可以用于编写音频编解码器;在图像处理中,可以用于实现图像滤波、变换等算法;在通信领域,可以用于编写网络协议栈等;在加密方面,可以实现各种加密算法。

C++的应用领域

  • 游戏开发:C++高性能,可以直接调用硬件资源,被广泛应用于游戏开发领域。例如著名的游戏引擎Unity3D就是使用C++编写的。在游戏开发中,C++可以用于编写游戏逻辑、渲染引擎、物理引擎等核心组件,以实现高性能的游戏运行效果。

  • 服务器端开发:很多游戏或者互联网公司的后台服务器程序都是基于C++开发的,而且大部分是linux操作系统。C++的高性能和对资源的高效利用,使得它适合处理大量的并发请求和数据处理任务,能够提供稳定、高效的服务器端服务。

  • 虚拟现实:在虚拟现实(VR)和增强现实(AR)技术中,C++也有广泛的应用。由于VR和AR应用对实时性和性能要求极高,C++可以充分利用硬件资源来实现逼真的虚拟场景渲染和交互效果。

  • 数字图像处理:C++在数字图像处理领域有着重要的应用。它可以用于实现各种图像处理算法,如图像滤波、边缘检测、图像分割等,并且可以高效地处理大量的图像数据。

  • 科学计算:在科学计算领域,C++的高性能和对复杂数据结构的支持使得它能够处理大规模的科学数据计算任务,如物理模拟、气象模拟等。

  • 网络软件:C++可用于开发各种网络软件,如网络协议栈、网络服务器等。它可以高效地处理网络通信中的数据传输、协议解析等任务,提供稳定、高效的网络服务。

  • 分布式应用:在分布式应用开发中,C++可以用于构建分布式系统的各个组件,如分布式数据库、分布式文件系统等。它可以处理分布式环境下的并发控制、数据一致性等复杂问题。

  • 操作系统和设备驱动程序:C++可以用于编写操作系统的部分组件和设备驱动程序。它可以直接操作硬件资源。

 记得点个赞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2206833.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

简单解析由于找不到xinput1_3.dll,无法继续执行代码的详细解决方法

电脑上突然跳出“由于找不到xinput1_3.dll,无法继续执行代码”的提示,这着实令人心烦,特别是当你正着急使用相关软件或者程序的时候。别担心,其实有五种科学有效的解决办法。大家得清楚,xinput1_3.dll是一个在众多软件…

快速总结HAT

HAT:Activating More Pixels in Image Super-Resolution Transformer 图像恢复(Image restoration)是计算机视觉中的一个经典问题,它的目的是从给定的低质量(LQ)输入重建高质量(HQ)图像。 在SwinIR基础上…

Codeforces 977 Div2 A-B

课上找空做了 A 原题 A. Meaning Mean 思路 贪心即可 代码 #include <bits/stdc.h> #define int long long using namespace std;const int N 110;int n, m, k, x, y, z; int w[N], f[N];void solve() {cin >> n;for (int i 1; i < n; i )cin >>…

理解计算机系统_程序的机器级表示(特别篇):对比move和leaq看汇编语言中数据的传递,变量和指针的映射,指针的实现

前言 以<深入理解计算机系统>(以下称“本书”)内容为基础&#xff0c;对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定 引入 汇编代码传递数据的机制令人费解.而这部分内容又是比较基础的,需要…

自适应气泡小计

View 代码 <div class"mas-view"><div class"m-2"><span>新新消息消新消息消息新消息新消息新消息新消息新消息新消息新消息新消息新息</span></div></div>CSS 样式 .mas-view{width: 100%;height: auto;border: 1px…

[M数学] lc3164. 优质数对的总数 II(因数分解+倍增+推公式+思维+好题)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接&#xff1a;3164. 优质数对的总数 II 2. 题目解析 挺不错的一道 因数分解、倍增 的题目&#xff0c;需要一定的思维和推公式的能力才能解决。灵神的题解已经非常清晰易懂了&#xff0c;可以直接去看。 倍增思路&#xff…

Kafka 消费者位置提交方式及适用场景

在使用 Kafka 进行消息处理时&#xff0c;消费者的位置提交是一个非常重要的环节。它决定了消费者在下次启动时从哪里开始读取消息。今天&#xff0c;我们就来深入探讨一下 Kafka 消费者位置提交方式有哪些&#xff0c;以及在什么场景下使用。 一、Kafka 消费者位置提交的重要…

Linux的zookeeper安装部署

1.zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是hadoop和HBASE的重要组件 2.下载zookeeper安装包zookeeper安装包https://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/ 移动到Linux解压 解压到/export/server文件夹 命令: tar -xvf apache-zooke…

《Linux从小白到高手》综合应用篇:详解Linux系统调优之内存优化

本篇介绍Linux服务器系统内存调优。 内存是影响Linux性能的主要因素之一&#xff0c;内存资源的充足与否直接影响应用系统的使用性能。内存调优的主要目标是合理分配和利用内存资源&#xff0c;减少内存浪费&#xff0c;提高内存利用率&#xff0c;从而提升系统整体性能。 1.内…

选择智能工单系统的理由,功能与效益分析

智能工单管理系统提升企业客户服务效率和质量&#xff0c;具备多渠道接收、智能分配、自动化处理等功能。ZohoDesk等系统通过实时响应、数据分析等优化服务流程&#xff0c;成为企业提升竞争力的关键工具。 一、智能工单管理系统的概念与优势 1. 智能工单管理系统概念 智能工…

【三】【算法】P1007 独木桥,P1012 [NOIP1998 提高组] 拼数,P1019 [NOIP2000 提高组] 单词接龙

P1007 独木桥 独木桥 题目背景 战争已经进入到紧要时间。你是运输小队长&#xff0c;正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激&#xff0c;于是命令你的士兵们到前方的一座独木桥上欣赏风景&#xff0c;而你留在桥下欣赏士兵们。士兵们十分愤…

H3C GRE VPN基本配置实验

H3C GRE VPN基本配置实验 实验拓扑 ​​ 实验需求 按照图示配置 IP 地址在 R1 和 R3 上配置默认路由使公网区域互通在 R1 和 R3 上配置 GRE VPN&#xff0c;使两端私网能够互相访问&#xff0c;Tunnel 口 IP 地址如图在 R1 和 R3 上配置动态路由协议来传递两端私网路由 实…

盘点2024年双十一最值得入手的好物,双十一必买清单大汇总

随着科技的飞速发展&#xff0c;数码产品已成为我们生活中不可或缺的伙伴。2024年双十一购物狂欢节即将来临&#xff0c;众多消费者早已摩拳擦掌&#xff0c;准备在这个年度盛事中淘到心仪的数码好物。在这个信息爆炸的时代&#xff0c;如何从琳琅满目的商品中挑选出性价比高、…

项目管理系统介绍,核心概念与操作技巧

项目管理系统通过分解任务、管理工时、规划项目等提升效率&#xff0c;支持多种使用场景&#xff0c;具备高度可定制性&#xff0c;适合不同用户群体&#xff0c;注重数据安全&#xff0c;能与其他软件集成。ZohoProjects因全面功能、低价和友好界面受中小企业青睐。 一、项目管…

视频背景音乐怎么提取出来?音乐爱好者必看:视频音轨提取指南

在数字媒体时代&#xff0c;视频成为了一种非常流行的信息传播方式。有时候&#xff0c;我们在观看视频时会被其中的背景音乐所吸引&#xff0c;想要将其提取出来单独欣赏或用于其他用途。那么&#xff0c;视频背景音乐怎么提取出来呢&#xff1f;本文将为您详细介绍几种提取视…

【Windows】【DevOps】Windows Server 2022平台启用WinRM实现远程powershell登陆 采用自签名证书开启HTTPS方案

快速配置开启WinRM(HTTP) quiciconfig 在目标服务器上&#xff0c;管理员权限启动powershell&#xff0c;执行指令 winrm quickconfig 输入y&#xff0c;完整日志如下 PS C:\Windows\system32> winrm quickconfig 已在此计算机上运行 WinRM 服务。 WinRM 没有设置成为了…

探索SAM:介绍、应用与衍生方向

Segment Anything Model&#xff08;简称SAM&#xff09;是Facebook Research团队开发的一项先进的图像分割技术。它通过使用深度学习模型&#xff0c;能够识别并分割出图像中的各个物体。SAM的创新之处在于其能够通过不同的交互方式&#xff08;如鼠标悬停、点击、框选和全图分…

pyQT生成界面,更改后不清除自定义代码的方法

基本原理就是作个子类继承生成的界面&#xff0c;在子类里写代码 工程结构 dialog_ui.py 界面子类 from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtGui import QStandardItemModel, QStandardItem, QColor, QFont from PyQt5.QtCore import Qt import Ui_dialog i…

带隙基准Bandgap电路学习(一)

一、原理图 Bandgap中的运放&#xff08;折叠式Cascode&#xff09;采用P输入对&#xff0c;是因为运放输入端接的PNP三极管发射极端的电位&#xff0c;电压小&#xff0c;为了确保输入对管能够饱和工作&#xff0c;故采用P输入对管。此外&#xff0c;P管作为输入管&#xff0c…

UE5.3.2查看引擎真正版本

编译好的插件给别人用&#xff0c;发现引擎不一致&#xff0c;而且双方都是5.3.2版本引擎 打开Help->About Unreal Editor可以看到引擎版本 或者直接查看引擎版本文件&#xff1a;XXXXX\Engine\Build\Build.version 里面能看到对应的分支名字