面向初学者的30个Golang编程示例

2024年 4月 27日 82.3k 0

Golang也被称为Go编程语言,是谷歌于2007年设计的一种开源编程语言。该语言的1.0版于2012年发布。它是一种类似C的结构化编程语言,可以使用Golang语言开发不同类型的应用程序,如网络服务、云应用程序、web应用程序等。它包含许多类型的包,如Python。它非常容易学习,这使得这种语言在新程序员中很受欢迎。本教程中解释了30个Golang编程示例,以从基础知识学习Golang。

先决条件:

Golang由不同类型的操作系统支持。在Ubuntu上安装Golang的方法已经在教程的这一部分中介绍过了。在练习本教程中的示例之前,请运行以下命令更新系统并在系统上安装Golang。

$sudo apt更新

$sudo apt安装golang go

运行以下命令检查Golang的安装版本。

$go版本

目录:

  1. Golang你好世界
  2. Golang字符串变量
  3. Golang int到字符串
  4. Golang字符串到int
  5. Golang字符串串联
  6. Golang多行字符串
  7. Golang分裂管柱
  8. Golang短跑
  9. Golang枚举
  10. Golang结构
  11. Golang阵列
  12. Golang集
  13. Golang for loop
  14. 高尔夫球场
  15. Golang while loop
  16. Golang继续
  17. Golang开关箱
  18. Golang随机数
  19. Golang睡眠
  20. Golang时间
  21. Golang uuid
  22. Golang读取文件
  23. Golang逐行读取文件
  24. Golang写入文件
  25. Golang检查文件是否存在
  26. Golang csv
  27. Golang yaml
  28. Golang http请求
  29. Golang命令行参数
  30. Golang错误处理

Golang你好世界

Golang的主包包含Golang编程所需的所有包,并且启动Golang脚本的执行是必需的。需要导入fmt包才能在终端中打印格式化的字符串。使用以下脚本创建一个Golang文件。字符串值“Hello World”将在执行脚本后在终端中打印。

//导入fmt包以打印输出

导入“fmt”

//定义main()函数以开始执行

func main(){

//使用新行打印简单消息

fmt。Println(“你好世界”)

}

运行以下命令以执行脚本。在这里,脚本已经保存在example1,go文件中。

$go运行示例1.go

运行以下命令来构建Golang文件的二进制文件。

$go构建示例1.go

运行以下命令以运行可执行文件。

$ ./示例1

在执行上述命令之后将出现以下输出,,

转到顶部

Golang字符串变量

字符串变量可以在不定义数据类型的情况下使用,也可以使用Golang中的数据类型。使用以下脚本创建一个Golang文件,该文件将打印简单的字符串数据和带有字符串变量的字符串数据。脚本中显示了Printf()和Println()函数的用法。

程序包主

//导入fmt包以打印输出

导入“fmt”

//定义main()函数

func main(){

//用新行打印字符串值

fmt。Printf(“从LinuxHint.com.n学习Golang”)

//定义第一个字符串变量

var str1=“Golang编程。”

//打印不带换行符的变量

fmt。Printf(“学习%s”,str1)

//定义第二个字符串变量

var str2=“易于学习。”

//用换行符打印变量

fmt。Println(“它是”,str2)

}

执行上述脚本后,将出现以下输出。此处打印两个串联字符串的输出。

转到顶部

Golang int到字符串

strconv。Itoa()和strconv。FormatInt()函数可用于将整数转换为Golang中的字符串值。strconv。Itoa()用于将整数值转换为一串数字。strconv。FormatInt()函数用于将基于十进制的整数值转换为字符串。使用以下脚本创建一个Golang文件,该脚本显示了使用上述函数在Golang中将整数转换为字符串的方法。将从用户处获取一个数字,并将该数字的相应字符串值打印为输出。

//添加主程序包

程序包主

//导入fmt和strconv包

进口

“fmt”

“strconv”

)

//定义主要功能

func main(){

//声明一个整数变量

var n int

//打印消息

fmt。Printf(“输入数字:”)

//接受用户的输入

fmt。扫描(&n)

//使用Itoa()函数将整数转换为字符串

convert1:=strconv。Itoa(n)

fmt。Printf(“使用Itoa()将整数转换为字符串:%sn”,convert1)

//使用FormatInt()函数将整数转换为字符串

convert2:=strconv。FormatInt(int64(n),10)

fmt。Printf(“使用FormatInt()将整数转换为字符串:%sn”,convert2)

}

执行脚本后将出现以下输出。数字。45已转换为字符串。“45”。

转到顶部

Golang字符串到int

strconv。函数Atoi()用于将字符串转换为Golang中的整数。它获取一个将被转换为整数的字符串值,并返回两种类型的值。如果会话成功,一个值是整数;如果会话不成功,另一个值则是错误,否则将返回零值。使用以下脚本创建一个Golang文件,该脚本将使用strconv将多个字符串值转换为整数。Atoi()函数。字符串值“342”将转换为342数字,并在执行后打印。

//添加主程序包

程序包主

//导入fmt和strconv包

进口

“fmt”

“strconv”

)

//定义主要功能

func main(){

//声明字符串变量

str:=“342”

//使用Atoi()函数将字符串转换为整数

price,err:=strconv。Atoi(str)

//检查错误

如果err==nil{

//打印转换后的值

fmt。Printf(“这本书的价格是%dn”,价格)

}其他{

//打印错误消息

fmt。Println(错误)

  }

}

执行脚本后将出现以下输出。字符串值“342”已在此处转换为342。

转到顶部

Golang字符串串联

使用以下脚本创建一个Golang文件,该脚本将使用Printf()函数将字符串与“+”运算符连接起来。Println()函数已在此处用于通过使用“+”运算符打印连接字符串值,Printf()函数在此处用于使用“%s”说明符打印连接字符串的值。脚本中已经声明了两个字符串变量,这两个变量稍后将连接起来。

//添加主程序包

程序包主

//导入fmt包以打印输出

导入“fmt”

//定义主要功能

func main(){

//声明两个字符串变量

var str1,str2字符串

//分配字符串值

str1=“Golang”

str2=“编程”

//使用“+”运算符连接字符串

fmt。Println(“使用'+'运算符连接的字符串值:”,str1+str2)

//使用“%s”说明符连接字符串

fmt。Printf(“使用格式说明符连接的字符串值:%s%sn”,str1,str2)

}

执行脚本后将出现以下输出。

转到顶部

Golang多线字符串

以下示例中显示了使用Golang脚本打印多行文本的三种不同方法。在第一个字符串变量中使用了'n'字符来生成多行文本。在第二个字符串中使用了backticks(`)来打印多行文本。在第三个字符串中使用了带说明符的backticks(`)来打印多行文本。

程序包主

//导入fmt包

导入“fmt”

//定义主要功能

func main(){

//用'n'字符声明多行字符串值

str1:=“Golang编程很容易学。”

fmt。Printf(str1)

//用backticks(`)声明多行字符串值

str2:=`学习

戈兰尼

从…起

Linux提示

博客

fmt。Printf(“%snn”,str2)

//声明两个字符串值

language:=“Golang”

开发者:=“谷歌”

//用变量和回溯标记声明字符串值

str3:=`%s



发达的

通过

s

fmt。Printf(str3,语言,开发人员)

//添加新行

fmt。打印()

}

执行脚本后将出现以下输出。这里打印了包含多行字符串值的三个字符串变量的输出。

转到顶部

Golang分裂管柱

琴弦。Split()函数已用于根据分隔符拆分字符串数据。以下脚本将从用户处获取字符串值,并根据冒号(:)拆分字符串值。执行后将打印拆分值的总数和前两个拆分值。

程序包主

//导入fmt和字符串包

进口

“fmt”

“字符串”

)

//定义主要功能

func main(){

//声明字符串变量

var str字符串

//打印提示消息

fmt。Printf(“输入带冒号的字符串(:)-”)

//接受用户的输入

fmt。扫描(&str)

//定义分隔符

分隔符:=“:”

//拆分字符串值

split_value:=字符串。拆分(str,分隔符)

//计算拆分值的数量

长度:=len(split_value)

//打印拆分值的数目

fmt。Printf(“拆分值的总数为%dn”,长度)

//打印分割值

fmt。Println(“第一个拆分值为”,split_value[0])

fmt。Println(“第二个拆分值为”,split_value[1])

}

执行脚本后将出现以下输出。输入值“golang:google”根据冒号(:)分为两部分。

转到顶部

Golang短跑

函数在Golang中用于将格式化的字符串值存储到一个变量中,就像其他标准编程语言一样。以下脚本中已声明了一个字符串和一个整数变量。这些变量的值已通过使用Sprint()函数格式化并存储到一个变量中。

程序包主

//导入fmt包

导入“fmt”

//定义主要功能

func main(){

//声明两个变量

var str字符串

var num int

//指定字符串值

str=“Golang”

//分配数值

num=2012

//将组合字符串值存储在变量中

combined_str:=fmt。Sprintf(“%s的第一个版本在%d中发布。”,str,num)

//打印变量

fmt。Printf(“Sprint()的输出:n%sn”,combined_str)

}

执行脚本后将出现以下输出。

转到顶部

Golang枚举

Golang中已使用枚举或枚举器来声明一组相关常数值的数据类型。Golang中枚举类型的声明与其他编程语言不同。已经声明了一个包含12个值的枚举类型,并且稍后将打印特定枚举值的数值。

程序包主

//导入fmt包

导入“fmt”

//声明用于以数字(1-12)存储月份值的类型

type Month int

//为从1开始的每个月的值声明常量

const(

一月=iota+1

二月

3月

Apr

五月

Jun

七月

八月

9月

10月

11月

12月

)

//声明主要功能

func main(){

//声明具有月份值的变量

var M_num=五月

//打印当月对应的数值

fmt。Println(“数字中的月份值为”,M_num)

}

执行脚本后将出现以下输出。五月对应的数值是5。

转到顶部

Golang结构

结构或结构在Golang中用于声明包含不同类型变量的类型。它可用于存储表格数据或多条记录。在下面的脚本中,已经声明了一个由四个元素组成的结构变量。接下来,使用定义的结构变量添加了两条记录。以不同方式打印结构值的方法已在脚本的最后部分中显示。

程序包主

//导入fmt包

导入“fmt”

//定义四个元素的结构

type产品结构{

id字符串

名称字符串

大小字符串

price int

}

func main(){

//声明第一个结构变量

product1:=产品{“p-1209”,“HDD”,“5TB”,80}

//声明第二个结构变量

product2:=产品{“p-7342”,“鼠标”,“”,15}

//打印结构变量

fmt。Println(“第一个产品:”,product1)

fmt。Println(“第二个产品:”,product2)

//分别打印第一个结构变量的四个值

fmt。Println(“第一个产品详细信息:”)

fmt。Println(“ID:”,product1.ID)

fmt。Println(“名称:”,product1.Name)

fmt。Println(“Size:”,product1.Size)

fmt。Println(“价格:”,product1.Price)

}

执行脚本后将出现以下输出。

转到顶部

Golang阵列

像其他标准编程语言一样,Golang中使用数组变量来存储特定数据类型的多个值。脚本中显示了声明和访问字符串值数组和数值数组的方法。

程序包主

//导入fmt包

导入“fmt”

func main(){

//声明字符串值的数组

str_arr:=[4]字符串{“google.com”、“ask.com”、”bing.com“、”you.com“}

//打印字符串数组

fmt。Println(“字符串数组值为:”,str_arr)

//打印数组的第三个元素

fmt。Println(“数组的第三个值为”,str_arr[2])

//声明一个数值数组

int_arr:=[6]int{65,34,12,81,52,70}

//打印整数数组

fmt。Println(“Integer Array values are:”,int_arr)

//打印数组的第4个元素

fmt。Println(“数组的第4个值为”,int_arr[3])

}

执行脚本后将出现以下输出。

转到顶部

Golang集

该集合是Golang的另一个数据结构,用于存储不同值的集合。它用于在对象中存储唯一值。Golang没有像其他编程语言那样内置的集合数据结构。但此功能可以通过使用空结构{}和映射来实现。在下面的脚本中,通过使用具有空结构的映射声明了字符串的集合变量。接下来,在集合中添加了三个值,删除了一个值,并再次添加了一个数值。该集合的值已分别打印在一起。

程序包主

//导入fmt包

导入“fmt”

func main(){

//定义一组字符串

lang:=map[string]结构{}

//使用空结构将三个元素插入到集合中

lang[“Go”]=结构{}

lang[“Bash”]=结构{}

lang[“Python”]=struct{}{}

//打印集合的当前现有元素

fmt。打印语言(lang)

//从集合中删除元素

delete(lang,“Python”)

//向集合中添加新元素

lang[“Java”]=结构{}

//删除和添加元素后打印设置值

fmt。打印语言(lang)

fmt。Printf(“n设置值为:n”)

//分别打印集合的每个元素

对于l:=量程lang{

fmt。Println(l)

   }

}

执行脚本后将出现以下输出。

转到顶部

Golang for loop

for循环可以在Golang以不同的方式用于不同的目的。下面的脚本中显示了对循环使用三个表达式的情况。循环将被迭代5次以获得5个输入值,这些输入值的总和将在稍后打印。

程序包主

//导入fmt包

导入“fmt”

func main(){

//声明一个整数变量

var数字int

//声明一个变量来存储和值

var sum=0

//定义for循环

  for n := 1; n

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论