go语言从零开始_golang语言介绍_windows下搭建开发环境_VSCode开发go程序配置---go语言工作笔记001
来首先爱看一下go语言的介绍,因为c++开发比较麻烦,花100%的精力,完成60%的效率,
java和c#又来源于c++,并且硬件不断升级,但原来的c++,java,c#不能充分利用硬件以及cpu,这个原因是
传统语言的性能瓶颈与 Go 语言的优化
确实,传统的 C++, Java, C# 等语言在设计之初,并没有完全考虑到现代多核 CPU 和并发编程的需求,因此在一定程度上存在无法充分利用硬件资源的问题。而 Go 语言的出现,正是为了解决这些问题,并提供更高效的并发编程模型。
传统语言的性能瓶颈主要体现在以下几个方面:
线程模型: C++ 和 Java 采用的是传统的线程模型,每个线程都需要独立的栈空间和线程上下文,创建和销毁线程的开销较大,且线程数量过多时会导致上下文切换频繁,降低程序性能。
内存管理: C++ 需要手动管理内存,容易出现内存泄漏和指针错误等问题;
Java 和 C# 虽然采用垃圾回收机制,但垃圾回收过程会暂停所有线程,导致程序出现停顿,影响性能。
并发编程: 传统语言的并发编程模型较为复杂,需要使用锁等同步机制来保证线程安全,
容易导致死锁和竞态条件等问题,且难以编写高效的并发程序。
Go 语言针对这些问题进行了优化,主要体现在以下几个方面:
轻量级线程 (Goroutine): Go 语言使用 Goroutine 作为并发执行的单元,Goroutine
的创建和销毁开销极小,可以轻松创建成千上万个 Goroutine,且 Goroutine 的调度由 Go 运行时负责,
避免了上下文切换的开销。
垃圾回收: Go 语言采用标记清除算法进行垃圾回收,且垃圾回收过程是并发进行的,不会导致程序停顿。
并发模型 (CSP): Go 语言采用通信顺序进程 (CSP) 模型进行并发编程,通过 Channel 进行 Goroutine
之间的通信,避免了锁的使用,降低了编程复杂度,且更容易编写高效的并发程序。
总而言之,Go 语言通过轻量级线程、高效的垃圾回收和简洁的并发模型,更好地利用了现代多核 CPU 的硬件资源,提高了程序的性能和并发能力。
当然,Go 语言并非完美无缺,在某些特定场景下,其性能可能不如 C++ 等语言。
例如,对于计算密集型任务,C++ 可以通过更精细的内存管理和优化,获得更高的执行效率。
对于需要直接操作硬件的场景,C++ 也具有更大的优势。
所以go有静态编译语言的安全和高性能,也有动态语言开发速度和易维护性.
所以go=c+python. go有c语言的运行速度,也有python的开发速度,值得学习.
可以看到go应用领域非常多
可以看到go里面有很多成功项目
有很多公司在用go
国内也有很多公司在用
可以看到
go的薪水也不错
然后来看一下在Windows环境中安装go语言开发环境
可以看到直接去官网下载go的
安装包,然后安装就可以了
然后再来看安装软件
可以看到,直接安装就可以了
下一步下一步
然后安装以后,打开cmd go version去看看
可以看到安装下一步下一步
安装以后go version 看看有没有安装成功
然后,看go env
可以查看go的环境
之前开始的时候go,还需要配置环境变量,现在已经不需要了
java就需要麻烦
可以看到go1.11以后就不用手动配置环境变量了
然后,go使用go mod 进行项目管理
到了go1.13以后,直接gopath的环境变量配置都不需要了
然后我们使用vscode开发 go,不多说了,经常用
下载,安装,然后安装扩展插件,支持go的就可以了
可以看到
安装这个go的插件就可以了
然后我们在d盘,创建一个go_demo文件夹
里面创建一个demo01文件夹
然后写一个main.go文件
里面写几行代码,就是打印代码
可以看到导入fmt然后直接打印
注意安装的时候,如果vscode,提示安装插件就安装就可以了
然后,插件安装失败?现在应该都不会了
然后再来看编写代码以后
然后执行
go run main.go 就可以执行了
然后
go build main.go 执行编译就是