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

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

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 编译器会将它当作普通的年份来处理,导致日期格式化出现错误。

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

结语

如果这篇文章对您有所帮助,或者有所启发的话,求一键三连:点赞、评论、收藏➕关注,您的支持是我坚持写作最大的动力。

文章知识点与官方知识档案匹配,可进一步学习相关知识

Java技能树首页概览131029 人正在系统学习中

关注博主即可阅读全文

目录
相关文章
|
1天前
|
Go 开发者
Golang深入浅出之-Go语言上下文(context)包:处理取消与超时
【4月更文挑战第23天】Go语言的`context`包提供`Context`接口用于处理任务取消、超时和截止日期。通过传递`Context`对象,开发者能轻松实现复杂控制流。本文解析`context`包特性,讨论常见问题和解决方案,并给出代码示例。关键点包括:1) 确保将`Context`传递给所有相关任务;2) 根据需求选择适当的`Context`创建函数;3) 定期检查`Done()`通道以响应取消请求。正确使用`context`包能提升Go程序的控制流管理效率。
6 1
|
2天前
|
安全 Go 开发者
Golang深入浅出之-Go语言并发编程面试:Goroutine简介与创建
【4月更文挑战第22天】Go语言的Goroutine是其并发模型的核心,是一种轻量级线程,能低成本创建和销毁,支持并发和并行执行。创建Goroutine使用`go`关键字,如`go sayHello("Alice")`。常见问题包括忘记使用`go`关键字、不正确处理通道同步和关闭、以及Goroutine泄漏。解决方法包括确保使用`go`启动函数、在发送完数据后关闭通道、设置Goroutine退出条件。理解并掌握这些能帮助开发者编写高效、安全的并发程序。
10 1
|
2天前
|
人工智能 Go 调度
掌握Go并发:Go语言并发编程深度解析
掌握Go并发:Go语言并发编程深度解析
|
2天前
|
SQL 关系型数据库 MySQL
Golang数据库编程详解 | 深入浅出Go语言原生数据库编程
Golang数据库编程详解 | 深入浅出Go语言原生数据库编程
|
3天前
|
Go 开发者
Golang深入浅出之-Go语言流程控制:if、switch、for循环详解
【4月更文挑战第21天】本文介绍了Go语言中的流程控制语句,包括`if`、`switch`和`for`循环。`if`语句支持简洁的语法和初始化语句,但需注意比较运算符的使用。`switch`语句提供多分支匹配,可省略`break`,同时支持不带表达式的形式。`for`循环有多种形式,如基本循环和`for-range`遍历,遍历时修改原集合可能导致未定义行为。理解并避免易错点能提高代码质量和稳定性。通过实践代码示例,可以更好地掌握Go语言的流程控制。
11 3
Golang深入浅出之-Go语言流程控制:if、switch、for循环详解
|
3天前
|
Go
Golang深入浅出之-Go语言函数基础:定义、调用与多返回值
【4月更文挑战第21天】Go语言函数是代码组织的基本单元,用于封装可重用逻辑。本文介绍了函数定义(包括基本形式、命名、参数列表和多返回值)、调用以及匿名函数与闭包。在函数定义时,注意参数命名和注释,避免参数顺序混淆。在调用时,要检查并处理多返回值中的错误。理解闭包原理,小心处理外部变量引用,以提升代码质量和可维护性。通过实践和示例,能更好地掌握Go语言函数。
17 1
Golang深入浅出之-Go语言函数基础:定义、调用与多返回值
|
4天前
|
程序员 Go API
【Go语言快速上手(二)】 分支与循环&函数讲解
【Go语言快速上手(二)】 分支与循环&函数讲解
|
4天前
|
Go
Golang深入浅出之-Go语言基础语法:变量声明与赋值
【4月更文挑战第20天】本文介绍了Go语言中变量声明与赋值的基础知识,包括使用`var`关键字和简短声明`:=`的方式,以及多变量声明与赋值。强调了变量作用域、遮蔽、初始化与零值的重要性,并提醒读者注意类型推断时的一致性。了解这些概念有助于避免常见错误,提高编程技能和面试表现。
19 0
|
4天前
|
编译器 Go 开发者
Go语言入门|包、关键字和标识符
Go语言入门|包、关键字和标识符
22 0
【Go语言入门100题】026 I Love GPLT (5 分) Go语言 | Golang
L1-026 I Love GPLT (5 分) Go语言|Golang 这道超级简单的题目没有任何输入。 你只需要把这句很重要的话 —— “I Love GPLT”——竖着输出就可以了。 所谓“竖着输出”,是指每个字符占一行(包括空格),即每行只能有1个字符和回车。
491 0