Go入门基础

发布时间 2023-04-25 16:56:41作者: 亓官扶苏

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语言简单易学,天生支持并发,完美契合当下高并发的互联网生态