go语言介绍
GO即Golang,是Google公司在2009年11月正式对外公开的一门编程语言
Go语言是一门【静态的 强类型语言】,是区别于解析性语言的编译型语言(静态:就是类型固定 强类型:不同类型不允许直接运算)
解析性语言 ---是原代码解析一行执行一行
编译型语言 ---原代码是一次性编译成机器语言,然后有机器直接执行机器代码即可
#编译型:
c,java,c++,c#,go 编译成可执行文件---》在操作系统上运行,不需要装任何东西
# 解释型:
python,nodejs,php
# java:
java有编译过程---》没有编译成机器语言---》字节码文件,机器识别不了---》java虚拟机:jvm能识别
运行java必须要有jvm
jvm:java虚拟机
jre:java运行时环境
jdk:java开发环境
// go语言的特性
--跨平台 编译型语言
--语法接近C语言
--管道(channel),切片(slice),并发(routine)
-- 有垃圾回收机制
-- 支持面向对象和面相过程的编程的模式
Go语言的特性
Go语言是一种由Google开发的开源编程语言,其主要特性包括:
简洁性:Go语言具有简洁的语法和清晰的结构,易于学习和阅读。它避免了冗余代码,使程序更易于维护。
并发性:Go语言原生支持并发编程,它提供了轻量级的协程(goroutine)和通信机制(channel),使得并发编程变得更加容易和高效。
高效性:Go语言的编译速度非常快,生成的可执行文件也非常小。同时,它采用了垃圾回收机制,可以自动管理内存,避免了手动内存管理的烦恼。
开发效率:Go语言拥有丰富的标准库和工具链,可以快速开发高效、可靠的应用程序。
跨平台性:Go语言的编译器可以生成多种操作系统和硬件平台的可执行文件,因此可以轻松地实现跨平台开发。
静态类型:Go语言是一种静态类型语言,可以在编译时捕获许多类型错误,这有助于提高程序的稳定性和可靠性。
内存安全:Go语言的内存管理机制可以有效地防止内存泄漏和指针错误,提高了程序的健壮性。
总之,Go语言是一种简单、高效、可靠、安全、并发的编程语言,非常适合构建网络服务、分布式系统和高并发程序等
go语言的管道(channel),切片(slice),并发(routine)
管道(channel):管道是Go语言中一种基于通信的并发编程机制,它可以在不同的goroutine之间传递数据。管道可以是有缓冲的或无缓冲的,有缓冲的管道可以缓存一定量的数据,而无缓冲的管道则会阻塞发送和接收操作,直到有对应的接收或发送操作。
切片(slice):切片是Go语言中一种动态数组,它可以根据需要自动扩展或收缩,非常方便。切片可以通过类似于数组的下标来访问元素,还可以进行切片、追加、复制等操作。
并发(routine):并发是Go语言的核心特性之一,它通过goroutine来实现。goroutine是一种轻量级的线程,可以在不同的CPU核心上运行,可以非常高效地实现并发编程。Go语言还提供了通道(channel)和锁(mutex)等同步机制来保证并发程序的正确性。
这三个特性都是Go语言的重要特色,它们的结合使得Go语言在并发编程和高性能计算方面具有很强的优势。
go语言的发展
早在2015 年8月19日,就实现了架构变化,同时保留了和就版本的兼容性,这次更新中移除了“最后残余的C代码”,--以后在进行开发go就是直接使用go来开发了 称为 “语言的自举”
在2018年8月24日 gol.11 --modules和webAssembly支持 Go mod模式:包管理
——最新 是 1.20版
Go语言,又称Golang,是一种由Google开发的开源编程语言。该语言于2007年开
始开发,于2009年正式发布,并于2012年发布了Go 1.0版本。Go语言的设计目标
是提供一种高效、简洁、可靠的编程语言,特别适用于大规模分布式系统和网络编程。
自发布以来,Go语言得到了广泛的应用和发展。许多知名公司,如Google、Uber、Twitch、Netflix、Dropbox等都在使用Go语言。Go语言的用户数量和贡献者数量都在不断增长,社区也非常活跃。
在未来,Go语言的前景非常广阔。随着云计算和大数据处理的需求不断增长,Go语言作为一种高效的编程语言,将会有更多的应用场景。Go语言的并发模型和垃圾回
收机制都被认为是其最大的优点之一,这也使得Go语言在网络编程、分布式系统、云计算等领域得到广泛应用。
此外,Go语言在Web开发、网络编程、系统编程等领域都有非常广泛的应用。Go语言的简单易用性也使得它成为了许多初学者入门的首选语言之一。因此,可以预计
在未来,Go语言将会继续快速发展,并成为各种领域的重要编程语言之一。
go语言的应用程序
-- k8s ,doker ,七牛
七牛:ceo 是许式伟,他在go的基础上进行优化,开发了Go+ 但是没什么人用
应用领域
内存kv数据库,例如boltDB,levelDB
云平台
目前Go语言已经⼴泛应用于人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、游戏开发等领域。
Go语言简单易学,天生支持并发,完美契合当下高并发的互联网生态