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版本
目录:
- Golang你好世界
- Golang字符串变量
- Golang int到字符串
- Golang字符串到int
- Golang字符串串联
- Golang多行字符串
- Golang分裂管柱
- Golang短跑
- Golang枚举
- Golang结构
- Golang阵列
- Golang集
- Golang for loop
- 高尔夫球场
- Golang while loop
- Golang继续
- Golang开关箱
- Golang随机数
- Golang睡眠
- Golang时间
- Golang uuid
- Golang读取文件
- Golang逐行读取文件
- Golang写入文件
- Golang检查文件是否存在
- Golang csv
- Golang yaml
- Golang http请求
- Golang命令行参数
- 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