Go 语言 入门 && 基于 GoLand 2023.1 创建第一个Go程序

在这里插入图片描述


🌷🍁 博主猫头虎🐅🐾 带您进入 Golang 语言的新世界✨✨🍁
🦄 博客首页——🐅🐾猫头虎的博客🎐
🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐
🌊 《100天精通Golang(基础入门篇)》 🐅 学会Golang语言,畅游云原生领域,无厂不可去~💐

🪁🍁 希望本文能给您带来价值🌸如果有任何不足,欢迎批评指正!🐅🐾🍁🐥


Go 语言 入门

go 语言是什么?

Go语言(又称为Golang)是一种开源的编程语言,由Google开发并于2009年首次亮相。它是一种静态类型、编译型的语言,拥有自动垃圾回收机制和强大的并发编程支持。

Go语言被设计成简洁、易于学习和使用,同时具备高效、可靠和可扩展的特性。它的语法风格类似于C语言,但是去掉了许多C语言中的复杂特性,如指针和内存管理。

Go语言可以用于编写各种类型的应用程序,包括服务器端应用程序、网络应用程序、云平台应用程序、操作系统和系统工具等。它也被广泛用于大型互联网公司和其他组织的内部开发中,例如Google、Uber、Dropbox和Docker等。

go 入门 需要 学习 什么?

  1. Go 语言基础:包括语言基础、变量、数据类型、控制语句、函数、指针、数组、切片、映射、结构体等等。

  2. Go 语言并发:Go 语言天生支持并发,学习并发编程需要掌握 goroutine 和 channel 的使用,以及常用的并发模型和并发编程的技巧。

  3. Go 语言标准库:Go 语言的标准库非常丰富,学习如何使用标准库可以让你更快速地编写高效的程序。

  4. Go 语言开发工具和环境:学习如何安装和配置 Go 语言的开发环境,以及如何使用 Go 的命令行工具进行编译、运行和调试程序。

  5. Go 语言网络编程:Go 语言天生支持网络编程,学习如何使用 Go 编写网络程序,包括 HTTP、TCP、UDP 等协议的编程。

  6. Go 语言测试和调试:Go 语言内置了测试框架,学习如何编写测试用例以及如何使用调试工具进行调试,可以帮助你更好地开发和维护 Go 语言程序。

Go 语言有 那些优势?

1.高效性:Go 语言的编译器和运行时系统被优化得非常高效,能够在性能和资源利用效率上做到卓越。此外,Go 语言的并发模型也被设计为非常高效,能够支持大规模并发。

  1. 简洁易学:Go 语言的语法简洁清晰,语言规范明确,学习曲线较为平滑。相比其他语言,Go 语言的语法更加简洁易读,没有冗余的语法和复杂的特性。

  2. 并发编程:Go 语言天生支持并发编程,提供了 goroutine 和 channel 等原语,使得编写高效、简洁的并发程序变得容易。并发编程也是 Go 语言的一大亮点和优势,被广泛应用于网络编程和高并发场景。

  3. 跨平台:Go 语言的编译器可以生成不同平台下的本地代码,支持跨平台开发,可以在不同操作系统和硬件上编写和运行相同的程序。

  4. 开发效率:Go 语言提供了一套完善的标准库和工具链,可以帮助开发者提高开发效率。同时,Go 语言的静态类型和自动垃圾回收等特性,可以减少代码出错的可能性,提高代码的稳定性和可维护性。

  5. 社区活跃:Go 语言的社区活跃度高,拥有庞大的开发者社区和众多的开源项目,可以提供丰富的资源和技术支持,方便学习和应用。

Go 语言 与 Java 语言 对比

  1. 语法风格:Go 语言和 Java 语言在语法风格上存在差异,Go 语言注重简洁和可读性,避免过多的语法和关键字;而 Java 语言的语法比较复杂,需要大量的关键字和语法结构来实现各种功能。

  2. 并发模型:Go 语言和 Java 语言在并发模型上存在差异。Go 语言使用 goroutine 和 channel 实现高效的并发编程;而 Java 语言则使用线程和锁等机制,需要开发者自行管理线程和锁,容易出现死锁等问题。

  3. 内存管理:Go 语言和 Java 语言在内存管理上有不同。Go 语言采用了自动垃圾回收机制,可以自动管理内存,减少内存泄漏等问题;而 Java 语言也支持垃圾回收机制,但由于 JVM 的实现方式和算法不同,可能存在一些性能和效率上的差异。

  4. 性能和效率:Go 语言和 Java 语言在性能和效率上有一定差异。由于 Go 语言的设计目标是高效和简洁,因此在性能和效率上具有优势,尤其是在大规模并发和网络编程方面。而 Java 语言则更注重开发效率和稳定性,因此在一些场景下性能和效率不如 Go 语言。

  5. 库和框架:Java 语言拥有庞大的生态系统和丰富的第三方库和框架,可以快速开发各种应用;而 Go 语言的生态系统相对较小,但也有一些优秀的第三方库和框架可供选择。

总的来说,Go 语言和 Java 语言在某些方面有相似之处,也有不同之处。选择使用哪种语言,需要根据具体的应用场景和需求进行考虑。

Go 语言 与Python 语言 对比

  1. 语法风格:Go 语言和 Python 语言在语法风格上存在差异,Go 语言注重简洁和可读性,避免过多的语法和关键字;而 Python 语言则更加注重代码的可读性和简洁性,采用缩进的方式表示代码块,避免使用大量的括号和分号。

  2. 并发模型:Go 语言和 Python 语言在并发模型上存在差异。Go 语言使用 goroutine 和 channel 实现高效的并发编程;而 Python 语言则使用多线程和协程等机制来实现并发编程。

  3. 内存管理:Go 语言和 Python 语言在内存管理上有不同。Go 语言采用了自动垃圾回收机制,可以自动管理内存,减少内存泄漏等问题;而 Python 语言也支持垃圾回收机制,但由于其实现方式和算法不同,可能存在一些性能和效率上的差异。

  4. 性能和效率:Go 语言和 Python 语言在性能和效率上有一定差异。由于 Go 语言的设计目标是高效和简洁,因此在性能和效率上具有优势,尤其是在大规模并发和网络编程方面。而 Python 语言则更注重开发效率和灵活性,因此在一些场景下性能和效率不如 Go 语言。

  5. 库和框架:Python 语言拥有庞大的生态系统和丰富的第三方库和框架,可以快速开发各种应用;而 Go 语言的生态系统相对较小,但也有一些优秀的第三方库和框架可供选择。

总的来说,Go 语言和 Python 语言在某些方面有相似之处,也有不同之处。选择使用哪种语言,需要根据具体的应用场景和需求进行考虑。

Go 语言 基于 GoLand 创建第一个程序

1. 打开 GoLand

在这里插入图片描述

2.选择 new

在这里插入图片描述

3. 选择SDK版本

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4. 输入项目名称,点击 cteate

在这里插入图片描述

项目创建完成

在这里插入图片描述

下一步,创建一个 Go file

在这里插入图片描述
选择 app 的文件,是带main 函数的文件

在这里插入图片描述在这里插入图片描述

可以直接输入 print 函数


package main

import "time"

func main() {
	println("libin9iOak !")
	println(time.DateTime)
	println(time.Now().Format("2006-01-02 15:04:05"))
	println("Hello Go Language !")
	println("I Can Do This !")
}


右键运行即可;

在这里插入图片描述

运行结果:
在这里插入图片描述

println(time.Now().Format("2006-01-02 15:04:05")) 语句解释:

在 Go 中,日期格式化字符串的规则是使用一些特殊的占位符来表示不同的日期和时间组件。其中,2006 年是特殊的一年,它是 Go 语言的初始版本发布的年份。因此,这个年份被用作默认的占位符,用来表示年份。

在日期格式化字符串中,使用 2006 年来代表年份,1 月来代表月份,2 日来代表日期,15 小时来代表小时,04 分钟来代表分钟,05 秒来代表秒数。这个规则可以帮助程序员更容易地记住日期格式化字符串的占位符。

所以,当你使用 time.Now().Format(“2006-01-02 15:04:05”) 这个语句时,它的意思是将当前时间按照指定的格式进行格式化输出,其中 2006-01-02 15:04:05 就是一个日期格式化字符串。使用 2006 年来表示年份,01 来表示月份,02 来表示日期,15 来表示小时,04 来表示分钟,05 来表示秒数。

因此,在 Go 中,你必须写 2006 年来代表年份,否则 Go 编译器会将它当作普通的年份来处理,导致日期格式化出现错误。

今天的分享就到这里,我们下期再见~

在这里插入图片描述

结语

通过今天的学习,您已经踏上了Golang的学习之旅。在未来的日子里,您将探索Golang的各个方面,从基础概念到高级技巧,从实际应用到性能优化。
学习一门编程语言是一个持续的过程,每一天都是您向Golang的精通迈进的重要一步。我鼓励您坚持每天学习,保持热情和好奇心,解决挑战并享受成功的喜悦。

在您的学习旅程中,不要忘记参与社区和与其他Golang开发者交流。分享您的见解和经验,向他人学习,并在开源项目或实际应用中展示您的技能。

如果您在学习过程中遇到困难或有任何问题,不要犹豫向社区和专家寻求帮助。持续学习,勇敢探索,您将在Golang领域取得令人瞩目的成就。

最后,感谢您的阅读和支持!祝愿您在未来的每一天中都能够成为一名精通Golang的开发者!

期待听到您在学习过程中的进展和成就。如果您需要进一步的帮助,请随时告诉我。祝您在学习Golang的旅程中取得巨大成功!

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。

如果您在学习过程中有任何疑惑,请点击下方名片,带您一对一快速入门 Go语言 的世界 ~

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫头虎

一分也是爱,打赏博主成就未来!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值