【go入门到放弃】 第一个go程序,从hello world开始

简介: 【go入门到放弃】 第一个go程序,从hello world开始

@[toc]

前言

今天下午练了一下午车,不得不说,学车是真辛苦:
在这里插入图片描述

刚到家就开始全力以赴学习了,毕竟学习才是正道:

接下来我们一起看看你的实验环境安装了没有:

如果你已经安装好环境,请跳过前言,如果你没有安装好环境,参考以下的文章:

  1. 万事开头难-go语言的安装及环境配置
  2. 工欲善其事必先利其器-IED-goland的安装及使用

一. windows中运行go程序

1.1代码示例

在这里插入图片描述
代码示例:

package main
import "fmt"
func main() {
    fmt.Println("welcome to goland")
}

1.2 代码说明

第一行: package main

package(创建包)

和Python一样,把相同功能的代码放在一个目录,称为包

Go语言以“包”作为管理单位,每个 Go 源文件必须先声明它所属的包,所以我们会看到每个 Go 源文件的开头都是一个 package 声明,格式:package 包名

Go语言的包与文件夹是一一对应的,它具有以下几点特性:

  • 一个目录下的同级文件属于同一个包。
  • 包可以被其他包引用
  • 包名可以与其目录名不同。
  • main 包是Go语言程序的入口包,一个Go语言程序必须有且仅有一个 main 包。如果一个程序没有 main 包,那么编译时将会出错,无法生成可执行文件。

第二行代码:import "fmt"

其中 import 是导入包的关键字,name 为所导入包的名字。
这里入了 fmt 包,这行代码会告诉 Go 编译器,我们需要用到 fmt 包中的函数或者变量等,fmt 包是Go语言标准库为我们提供的,用于格式化输入输出的内容(类似于C语言中的 stdio.h 头文件),类似的还有 os 包、io 包等。

第3-5行代码:main 函数

第3-5行代码创建了一个 main 函数,它是Go语言程序的入口函数,也即程序启动后运行的第一个函数。

main 函数只能声明在 main 包中,不能声明在其他包中,并且,一个 main 包中也必须有且仅有一个 main 函数。

func main () 定义了一个函数,func是定义函数的关键字,表示是一个函数或者方法,()空括号,表示main函数不接收任何参数,在go语言中main函数是一个特殊的函数,代表整个程序项目的入口。

第4行代码:fmt.Println("welcome to goland!")

Println 是 fmt 包中的一个函数,通过fmt包的println打印函数进行打印文本,fmt是就是第二行代码中导入的包了。

二. 程序的运行

在这里插入图片描述

程序的运行

2.1 go run执行命令

2.1.1 切换到程序所在的目录

PS C:\go\src> dir



Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2022/12/13     15:12                test01


PS C:\go\src> cd .\test01\
PS C:\go\src\test01> dir


    目录: C:\go\src\test01


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2022/12/13     15:12             78 test_hello.go


PS C:\go\src\test01>

2.1.2 go run 执行命令

PS C:\go\src\test01> go run .\test_hello.go
welcome to goland

2.2 使用go bulid执行命令

go bulid 命令:编译go文件并生成一个二进制文件

PS C:\go\src\test01> go build .\test_hello.go

在这里插入图片描述
此时已经多了一个test_hello.exe的文件

然后./执行exe文件即可

PS C:\go\src\test01> .\test_hello.exe
welcome to goland
PS C:\go\src\test01> 

总结

we should study hard. we should not waste time.
我是沐风晓月,月亮初升,就是我学习的时候。

相关文章
|
人工智能 安全 算法
Go入门实战:并发模式的使用
本文详细探讨了Go语言的并发模式,包括Goroutine、Channel、Mutex和WaitGroup等核心概念。通过具体代码实例与详细解释,介绍了这些模式的原理及应用。同时分析了未来发展趋势与挑战,如更高效的并发控制、更好的并发安全及性能优化。Go语言凭借其优秀的并发性能,在现代编程中备受青睐。
565 33
|
Cloud Native 安全 Java
Go语言深度解析:从入门到精通的完整指南
🌟蒋星熠Jaxonic,Go语言探索者。深耕云计算、微服务与并发编程,以代码为笔,在二进制星河中书写极客诗篇。分享Go核心原理、性能优化与实战架构,助力开发者掌握云原生时代利器。#Go语言 #并发编程 #性能优化
762 43
Go语言深度解析:从入门到精通的完整指南
|
Kubernetes Linux Go
使用 Uber automaxprocs 正确设置 Go 程序线程数
`automaxprocs` 包就是专门用来解决此问题的,并且用法非常简单,只需要使用匿名导入的方式 `import _ "go.uber.org/automaxprocs"` 一行代码即可搞定。
626 78
|
Cloud Native 安全 Java
Go语言深度解析:从入门到精通的完整指南
🌟 蒋星熠Jaxonic,执着的星际旅人,用Go语言编写代码诗篇。🚀 Go语言以简洁、高效、并发为核心,助力云计算与微服务革新。📚 本文详解Go语法、并发模型、性能优化与实战案例,助你掌握现代编程精髓。🌌 从goroutine到channel,从内存优化到高并发架构,全面解析Go的强大力量。🔧 实战构建高性能Web服务,展现Go在云原生时代的无限可能。✨ 附技术对比、最佳实践与生态全景,带你踏上Go语言的星辰征途。#Go语言 #并发编程 #云原生 #性能优化
|
存储 算法 数据可视化
【二叉树遍历入门:从中序遍历到层序与右视图】【LeetCode 热题100】94:二叉树的中序遍历、102:二叉树的层序遍历、199:二叉树的右视图(详细解析)(Go语言版)
本文详细解析了二叉树的三种经典遍历方式:中序遍历(94题)、层序遍历(102题)和右视图(199题)。通过递归与迭代实现中序遍历,深入理解深度优先搜索(DFS);借助队列完成层序遍历和右视图,掌握广度优先搜索(BFS)。文章对比DFS与BFS的思维方式,总结不同遍历的应用场景,为后续构造树结构奠定基础。
776 10
|
存储 Go
Go 语言入门指南:切片
Golang中的切片(Slice)是基于数组的动态序列,支持变长操作。它由指针、长度和容量三部分组成,底层引用一个连续的数组片段。切片提供灵活的增减元素功能,语法形式为`[]T`,其中T为元素类型。相比固定长度的数组,切片更常用,允许动态调整大小,并且多个切片可以共享同一底层数组。通过内置的`make`函数可创建指定长度和容量的切片。需要注意的是,切片不能直接比较,只能与`nil`比较,且空切片的长度为0。
546 3
Go 语言入门指南:切片
|
Go C语言
Go语言入门:分支结构
本文介绍了Go语言中的条件语句,包括`if...else`、`if...else if`和`switch`结构,并通过多个练习详细解释了它们的用法。`if...else`用于简单的条件判断;`if...else if`处理多条件分支;`switch`则适用于基于不同值的选择逻辑。特别地,文章还介绍了`fallthrough`关键字,用于优化重复代码。通过实例如判断年龄、奇偶数、公交乘车及成绩等级等,帮助读者更好地理解和应用这些结构。
341 15
|
Go 数据处理 开发者
Go 语言的反射机制允许程序在运行时动态检查和操作类型信息,提供极大的灵活性和扩展性
Go 语言的反射机制允许程序在运行时动态检查和操作类型信息,提供极大的灵活性和扩展性。本文探讨了反射的基本原理、主要操作、应用场景及注意事项,并通过实例展示了反射的实际应用,帮助开发者更好地理解和使用这一强大特性。
334 2
|
存储 设计模式 安全
Go语言中的并发编程:从入门到精通###
本文深入探讨了Go语言中并发编程的核心概念与实践技巧,旨在帮助读者从理论到实战全面掌握Go的并发机制。不同于传统的技术文章摘要,本部分将通过一系列生动的案例和代码示例,直观展示Go语言如何优雅地处理并发任务,提升程序性能与响应速度。无论你是Go语言初学者还是有一定经验的开发者,都能在本文中找到实用的知识与灵感。 ###
|
Serverless Go
Go语言中的并发编程:从入门到精通
本文将深入探讨Go语言中并发编程的核心概念和实践,包括goroutine、channel以及sync包等。通过实例演示如何利用这些工具实现高效的并发处理,同时避免常见的陷阱和错误。

热门文章

最新文章