news 2026/2/17 2:30:20

1.3 Go语言核心语法速成:变量、函数、结构体10分钟快速上手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1.3 Go语言核心语法速成:变量、函数、结构体10分钟快速上手

1.3 Go语言核心语法速成:变量、函数、结构体10分钟快速上手

引言

Go语言的语法设计简洁而强大,本文将通过大量实例快速掌握Go语言的核心语法:变量声明、函数定义、结构体使用。这些是Go语言的基础,掌握它们就能开始编写Go程序了。

一、变量声明

1.1 变量声明方式

Go语言有多种变量声明方式:

packagemainimport"fmt"funcmain(){// 方式1:使用var关键字varnamestring="Go"// 方式2:类型推断varage=25// 方式3:短变量声明(最常用)city:="Beijing"// 方式4:多变量声明varx,yint=1,2a,b:=3,4// 方式5:变量组声明var(usernamestring="admin"passwordstring="123456"isActivebool=true)fmt.Println(name,age,city,x,y,a,b)fmt.Println(username,password,isActive)}

1.2 零值(Zero Value)

Go语言中,未初始化的变量会有默认值(零值):

packagemainimport"fmt"funcmain(){variint// 0varffloat64// 0.0varbbool// falsevarsstring// ""varp*int// nilvarsl[]int// nilvarmmap[string]int// nilfmt.Printf("int零值: %d\n",i)fmt.Printf("float64零值: %f\n",f)fmt.Printf("bool零值: %t\n",b)fmt.Printf("string零值: '%s'\n",s)fmt.Printf("pointer零值: %v\n",p)fmt.Printf("slice零值: %v\n",sl)fmt.Printf("map零值: %v\n",m)}

输出:

int零值: 0 float64零值: 0.000000 bool零值: false string零值: '' pointer零值: <nil> slice零值: [] map零值: map[]

1.3 常量声明

packagemainimport"fmt"funcmain(){// 单个常量constPi=3.14159// 常量组const(StatusOK=200StatusError=500)// iota常量生成器const(Sunday=iota// 0Monday// 1Tuesday// 2Wednesday// 3Thursday// 4Friday// 5Saturday// 6)fmt.Println(Pi,StatusOK,StatusError)fmt.Println(Sunday,Monday,Tuesday)}

二、基本数据类型

2.1 数值类型

packagemainimport"fmt"funcmain(){// 整数类型vari8int8=127vari16int16=32767vari32int32=2147483647vari64int64=9223372036854775807variint=100// 根据平台决定是32位还是64位// 无符号整数varu8uint8=255varu16uint16=65535varu32uint32=4294967295varu64uint64=18446744073709551615varuuint=200// 浮点数varf32float32=3.14varf64float64=3.141592653589793// 复数varc64complex64=1+2ivarc128complex128=1+2ifmt.Println(i8,i16,i32,i64,i)fmt.Println(u8,u16,u32,u64,u)fmt.Println(f32,f64)fmt.Println(c64,c128)}

2.2 字符串类型

packagemainimport("fmt""strings")funcmain(){// 字符串声明s1:="Hello"s2:="World"// 字符串拼接s3:=s1+" "+s2 fmt.Println(s3)// Hello World// 多行字符串s4:=`这是一个 多行字符串 可以包含"引号"`fmt.Println(s4)// 字符串操作fmt.Println(len(s1))// 5fmt.Println(strings.Contains(s3,"Hello"))// truefmt.Println(strings.HasPrefix(s3,"Hello"))// truefmt.Println(strings.HasSuffix(s3,"World"))// truefmt.Println(strings.Index(s3,"World"))// 6fmt.Println(strings.ToUpper(s3))// HELLO WORLDfmt.Println(strings.ToLower(s3))// hello worldfmt.Println(strings.Split(s3,
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/11 18:50:17

1.7 Go HTTP服务器进阶:路由、中间件、错误处理完整实现

Go HTTP服务器进阶:路由、中间件、错误处理完整实现 引言 在掌握了 HTTP 服务器基础后,我们需要学习更高级的特性来构建生产级的应用。本文将深入讲解路由管理、中间件设计、错误处理、优雅关闭等进阶特性,让你能够构建健壮、可维护的 HTTP 服务器。 一、高级路由管理 1…

作者头像 李华
网站建设 2026/2/16 14:10:29

‌幽默案例:AI测试工具“误判”的搞笑瞬间‌

在软件测试领域&#xff0c;AI工具的崛起带来了革命性的效率提升&#xff0c;但也伴随着令人啼笑皆非的“误判”瞬间。这些误判&#xff0c;往往源于算法偏差、数据噪声或边界条件处理不当&#xff0c;却在严肃的测试报告中上演着一幕幕喜剧。作为测试从业者&#xff0c;我们深…

作者头像 李华
网站建设 2026/2/5 19:56:15

2026趋势:AI认证测试工程师需求激增——软件测试从业者的转型指南

AI认证测试工程师的崛起背景 2026年&#xff0c;软件测试行业正经历前所未有的变革&#xff0c;AI技术的深度集成不仅提升了测试效率&#xff0c;还重塑了职业角色。AI认证测试工程师的需求激增&#xff0c;源于AI测试从概念验证迈向工程化落地。随着软件复杂性加剧&#xff0…

作者头像 李华
网站建设 2026/2/7 19:29:11

凌晨三点的数字守夜人:当测试工程师遇见AI副驾驶

——论如何用人工智能把加班夜变成技术喜剧 第一章 灾难片现场&#xff1a;经典加班夜重播 场景还原 时间&#xff1a;周五 22:47 地点&#xff1a;某互联网公司测试部 人物&#xff1a;资深测试工程师老K 事件&#xff1a; V2.3版本上线前夜 ▉ 紧急需求变更3次&#xff08…

作者头像 李华