news 2026/5/1 8:29:43

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/4/18 14:32:48

1.6 手把手教你用Go编写第一个HTTP服务器:零基础也能搞定

手把手教你用Go编写第一个HTTP服务器:零基础也能搞定 引言 HTTP 服务器是云原生应用的基础。无论是微服务、API 网关还是 Web 应用,都离不开 HTTP 服务器。本文将手把手教你用 Go 语言编写第一个 HTTP 服务器,从最简单的 Hello World 到完整的 RESTful API,让你零基础也能…

作者头像 李华
网站建设 2026/4/28 9:46:34

1.10 Go单元测试与性能测试:testing包和benchmark性能优化实战

1.10 Go单元测试与性能测试:testing包和benchmark性能优化实战 引言 测试是软件开发的重要环节,Go语言内置了强大的测试框架。掌握单元测试和性能测试的编写方法,能够保证代码质量和性能。本文将详细介绍Go语言的测试实践。 一、单元测试基础 1.1 测试文件命名 测试文件…

作者头像 李华
网站建设 2026/4/19 11:33:50

【Django毕设全套源码+文档】基于Django的宠物服务管理系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/5/1 7:29:09

中医名医 AI 智能体(LLM)技术方案详解

随着人工智能技术的飞速发展&#xff0c;越来越多的领域开始探索如何将AI与传统行业深度融合。中医作为中国传统文化的重要组成部分&#xff0c;其传承与发展一直面临诸多挑战。《中医名医 AI 个智能体&#xff08;LLM&#xff09;技术方案》旨在通过AI技术为每位名医打造个性化…

作者头像 李华
网站建设 2026/5/1 6:09:58

13.3 度量驱动:建立 DevOps 度量体系与持续改进机制

13.3 度量驱动:建立 DevOps 度量体系与持续改进机制 1. 引言:没有度量就没有改进 在 DevOps 转型中,我们经常听到: “我们的部署速度变快了” “我们的故障变少了” “我们的效率提高了” 但这些主观感受无法量化,也无法证明改进的效果。 度量(Metrics) 是 DevOps 成…

作者头像 李华
网站建设 2026/5/1 6:14:11

收藏级!大语言模型核心原理精讲(含ChatGPT+Transformer+实战路线)

本文专为程序员与AI初学者打造&#xff0c;用通俗易懂的语言拆解大语言模型&#xff08;LLM&#xff09;核心逻辑&#xff0c;重点剖析ChatGPT的底层机制&#xff0c;覆盖生成式特性、预训练思想、Transformer架构三大核心板块。同时详解AI基础概念、SFT/PPO/RLHF等训练方法&am…

作者头像 李华