当前位置: 首页 > news >正文

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,
http://www.jsqmd.com/news/293375/

相关文章:

  • OA系统集成CKEDITOR时WORD粘贴功能失效怎么办?
  • 雷达RCS仿真计算程序:工具、方法及实践指南
  • 树莓派4b qt打包软件
  • vscode 中的(#+数字)前的方块去除
  • 2025年国内专业的防雨罩销售厂家哪家权威,以撒控制台/防雨罩/监控防雨箱/可移动式监控杆供应商哪家靠谱
  • 国内乙型网带品牌2026排行,靠谱网带选它们,传动链条/不锈钢输送机/非标链条/垂直提升机,网带企业哪里有卖
  • 收藏!Text2SQL核心逻辑与工程流程全解析,小白也能上手大模型项目
  • Jenkins流水线是怎么知道每个阶段运行结束了的?
  • 收藏!AI大模型应用开发学习指南:从零基础到拿高薪,踩准2026风口
  • 南昌断桥门窗铝材厂家哪家好?丰安铝业来揭晓
  • 日照婚宴场地服务哪家好,达禧宴会酒店服务贴心
  • 剖析2026年冷库建造优质生产商排名,宏国制冷优势显著揭秘
  • 2026年山东临沂、菏泽等地靠谱的化妆师美妆培训学校推荐,山东欧曼谛上榜
  • 盘点恒达管业排名,恒达管客户评价如何看这些案例
  • 2026年国内做得好的打包扣生产厂家口碑推荐,有实力的打包扣口碑推荐榜精选优质品牌解析
  • Java 枚举的用法及实际使用场景_java enum类用法,零基础入门到精通,收藏这篇就够了
  • 测试工程师指南:评估AI工具ROI的方法‌
  • 1.5 Go语言包管理实战:Go Modules从入门到精通
  • 1.7 Go HTTP服务器进阶:路由、中间件、错误处理完整实现
  • 1.7 Go错误处理最佳实践:从error到panic再到recover的完整错误处理体系
  • 1.8 Go语言包管理实战:Go Modules从入门到精通
  • 1.6 手把手教你用Go编写第一个HTTP服务器:零基础也能搞定
  • 2026年家装趋势:高性能节能门窗成主流,全屋门窗/豪宅设计/电动门窗/复古门窗/欧式门窗,节能门窗企业推荐榜单
  • 转行网络安全简历重构指南:从 “开发 / 运维” 到 “安全工程师”(附模板)
  • 从运维到网安:无缝转型指南+系统化学习路线
  • 浙江金属软管厂家哪家好?恒达管业口碑出众
  • 2026年玻璃隔断生产厂推荐,哪家口碑好
  • 【Django毕设全套源码+文档】基于Django的宠物服务管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 【Django毕设全套源码+文档】基于python语言的酒店推荐系统(丰富项目+远程调试+讲解+定制)
  • 【Django毕设全套源码+文档】基于Python的农产品销售系统的设计与实现(丰富项目+远程调试+讲解+定制)