【Go编程语言】Hello World中竟暗藏玄机

😄作者简介:
小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊
座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

前言

学习某一门编程语言时大多是从Hello World开始,殊不知Hello World这段程序中暗含了很多知识点。本篇文章以Golang语言为例,看看Hello World中都包含哪些内容。

正文

首先创建一个hello.go 文件

package main

import "fmt"

func main() {
	var text = "Hello World"
	fmt.Printf("Jenny say : %s", text)
}

接下来我们一行一行分析其中的奥秘。

package main

表示该 hello.go 文件所在的包是main,package main表示可独立执行的程序,也就是当某个程序文件中包含package main,那么这个文件就是可执行的,且在go中,每个文件都必须归属于一个包。

import “fmt”

表示引入包,当程序需要打印相关内容时,则可引入“fmt”包,需要注意以下几点:

  • 引入包时,需要加双引号,import “xxx”

  • 当引入多个包时,可用小括号括起来

    import (
    	"fmt"
    	"os"
    )
    

func main(){ }

func 是关键字,用于定义函数,main() 函数和其它编程语言一样,是程序的主函数,也就是程序的入口,程序从main函数开始,以main函数结束。(但如果有init()函数的话,需要先执行init()函数)

另外,需要注意的是 { 不能单独放在一行,例如

func main()
{ //报错
	fmt.Println("hello")
}

编译器会提示语法错误: syntax error: unexpected semicolon or newline before {

函数间的调用

在同一个目录下函数调用演示

项目名为:DemoTest,项目下有两个go文件,分别是main.go 和 demo01.go

//main.go
package main
func main() {
	hello()
}
//demo01.go
package main
import "fmt"
func hello() {
	fmt.Println("hello world")
}

运行命令:go run main.go demo01.go

➜DemoTest go run main.go
# command-line-arguments
./main.go:3:2: undefined: hello

所以,针对同一个目录下go文件的运行,需要输入如下命令
➜DemoTest go run main.go demo01.go
hello world

不同目录下函数调用演示

在项目DemoTest下创建一个文件,名为test,结构如下:DemoTest→test→demo02.go,demo02.go 内容如下:

package test

import "fmt"

func Say() {
	fmt.Println("demo02,hello world")
}

在main函数中 引用Say()函数

package main
import "DemoTest/test"
func main() {
	hello()
	test.Say()
}

当在控制台运行是 go run main.go demo01.go,可能会遇到 main.go:2:8: package DemoTest/test is not in GOROOT (/usr/local/go/src/DemoTest/test)问题,解决方法如下:

➜  DemoTest go mod init DemoTest
go: creating new go.mod: module DemoTest
go: to add module requirements and sums:
	go mod tidy
➜  DemoTest  go mod tidy

此时再运行 go run main.go demo01.go可正常运行。

需要注意的是,不用目录下go文件,不可使用main 包名,可参照demo02.go,改为了package test。

注意:在Go语言中,使用mod来管理包以来问题,go mod tidy 主要用于加载配置第三方路径。

当然你在使用go mod init命令时可能会出现 go: cannot determine module path for source directory /Users/zengzhaoxia/Demotest1 (outside GOPATH, module path must be specified)问题,解决方法如下:

在这里插入图片描述
因为go.mod文件第一行的module与你设置的不一样,将ProjectName改为Demotest1,即可解决该问题,也就是说go.mod的module中的名字要和项目名保持一致。
在这里插入图片描述

定义变量

通过var关键词来定义变量,后续会专门来讲解

fmt 常用函数介绍

fmt.Print()

fmt.Print("不换行打印1")
fmt.Print("不换行打印2")
/*
输出的结果为:
不换行打印1不换行打印2
*/

fmt.Println()

fmt.Println("换行打印1")
fmt.Println("换行打印2")
/*
输出的结果为:
换行打印1
换行打印2
*/

fmt.Sprintf()

表示格式化参数并返回字符串

var str1 = "jenny"
var str = fmt.Sprintf("hello %s",str1)
fmt.Println(str)
/*
输出的结果为:
hello jenny
*/

fmt.Printf()

表示格式化参数并标准输出

var str1 = "jenny"
fmt.Printf("hello %s",str1)
/*
输出的结果为:
hello jenny
*/

注意:在格式化参数中,%d 表示整型数字,%s 表示字符串

Go 程序是如何运行起来的。

如何运行Go 程序,有两种方式

go run

go run hello.go
Jenny say : Hello World

go build

➜  go build hello.go    
➜  ls
hello    hello.go
➜  ./hello    
Jenny say : Hello World

注意:go build 后会生成hello 二进制文件,在命令行直接输入./hello,即可运行。
如果你使用的是Windows,那么二进制文件是hello.exe,在命令行直接输入hello.exe即可。

Go语言中的空行和空格

空格通常用于分隔标识符、关键字、运算符和表达式,主要提高代码的可读性,例如

var text = "Hello World"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
### 回答1: 使用 C++ 语言输出 HELLO WORLD: ``` #include <iostream> int main() { std::cout << "HELLO WORLD" << std::endl; return 0; } ``` 使用 Python 语言输出 HELLO WORLD: ``` print("HELLO WORLD") ``` 使用 Java 语言输出 HELLO WORLD: ``` public class HelloWorld { public static void main(String[] args) { System.out.println("HELLO WORLD"); } } ``` 使用 JavaScript 语言输出 HELLO WORLD: ``` console.log("HELLO WORLD"); ``` ### 回答2: 使用四种编程语言分别输出“HELLO WORLD”: 1. C语言: ```c #include <stdio.h> int main() { printf("HELLO WORLD\n"); return 0; } ``` 2. Python语言: ```python print("HELLO WORLD") ``` 3. Java语言: ```java public class HelloWorld { public static void main(String[] args) { System.out.println("HELLO WORLD"); } } ``` 4. JavaScript语言: ```javascript console.log("HELLO WORLD"); ``` 以上是四种编程语言分别输出“HELLO WORLD”的例子,分别是C语言、Python语言、Java语言和JavaScript语言。在不同的编程语言中,输出“HELLO WORLD”可能会有些差异,但基本上都是使用打印语句或输出函数来实现。 ### 回答3: 使用四种编程语言输出"Hello World"的方式如下: 1. Java语言: ```java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } } ``` 2. Python语言: ```python print("Hello World") ``` 3. C语言: ```c #include <stdio.h> int main() { printf("Hello World"); return 0; } ``` 4. JavaScript语言: ```javascript console.log("Hello World"); ``` 以上是四种常用的编程语言的输出"Hello World"的示例代码。每种语言都有自己特定的语法和写法,但它们都能实现相同的结果:在控制台输出"Hello World"。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小曾同学.com

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值