Go语言实战(二) - 基础语法

简介:

1 变量定义


var 语句定义了一个变量的列表;跟函数的参数列表一样,类型在后面。
就像在这个例子中看到的一样,var 语句可以定义在包或函数级别。



变量一旦定义了,就必须使用到,否则报错

根据变量内容即可判断变量类型,无须再显式声明


  • 总结

2 内置变量类型

复数机制


验证欧拉公式

强制类型转换

sqrt源码
传参 int 直接报错

因为没有隐式转换,只有显式的强制类型转换

3 常量与枚举


常量的定义

使用 iota 在 const 块定义中实现自增值
iota = 0

内存进制大小数值
使用常量定义枚举类型

常量定义要点回顾

4 条件语句

if

"If"语句根据一个布尔表达式的值指定两个分支的条件来执行。 若该表达式求值为true,则执行"if"分支,否则执行"else"分支

If语句 = "if" [ 简单语句 ";" ] 表达式 块 [ "else" ( If语句 | 块 ) ] .
if x > max {
    x = max
}


工具方法,该方法有两个返回值哦!

文件位置

switch

"Switch"语句提供多路执行。表达式或类型说明符与"switch"中的"cases"相比较从而决定执行哪一分支。

Switch语句 = 表达式选择语句 | 类型选择语句 





循环









5 函数

  • 参数 参数类型,

  • Go的函数可以返回多个值
    多返回值
  • 若参数过多,这样并不是一种清晰的写法

建议如下最佳实践!

  • 多返回值函数,只接收一个返回值
  • 对于多返回值参数,一般可用于返回值 + error

比如这样,控制台输出就很难看,因为error直接程序中断了



  • 亦可写成匿名函数


无默认参数,有可变参数,可变参数类型其实是[] type 类型


6 指针

6.1 参数传递




1
2
3


当然啦,还有最简单的

目录
相关文章
|
7月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
385 2
|
8月前
|
Linux Go iOS开发
Go语言100个实战案例-进阶与部署篇:使用Go打包生成可执行文件
本文详解Go语言打包与跨平台编译技巧,涵盖`go build`命令、多平台构建、二进制优化及资源嵌入(embed),助你将项目编译为无依赖的独立可执行文件,轻松实现高效分发与部署。
1371 162
|
8月前
|
存储 前端开发 JavaScript
Go语言实战案例-项目实战篇:编写一个轻量级在线聊天室
本文介绍如何用Go语言从零实现一个轻量级在线聊天室,基于WebSocket实现实时通信,支持多人消息广播。涵盖前后端开发、技术选型与功能扩展,助你掌握Go高并发与实时通信核心技术。
908 158
|
9月前
|
负载均衡 监控 Java
微服务稳定性三板斧:熔断、限流与负载均衡全面解析(附 Hystrix-Go 实战代码)
在微服务架构中,高可用与稳定性至关重要。本文详解熔断、限流与负载均衡三大关键技术,结合API网关与Hystrix-Go实战,帮助构建健壮、弹性的微服务系统。
900 1
微服务稳定性三板斧:熔断、限流与负载均衡全面解析(附 Hystrix-Go 实战代码)
|
9月前
|
数据采集 数据挖掘 测试技术
Go与Python爬虫实战对比:从开发效率到性能瓶颈的深度解析
本文对比了Python与Go在爬虫开发中的特点。Python凭借Scrapy等框架在开发效率和易用性上占优,适合快速开发与中小型项目;而Go凭借高并发和高性能优势,适用于大规模、长期运行的爬虫服务。文章通过代码示例和性能测试,分析了两者在并发能力、错误处理、部署维护等方面的差异,并探讨了未来融合发展的趋势。
965 0
|
9月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
595 0
|
9月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
418 0
|
9月前
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
460 0
|
9月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
524 0
|
Go
Go实战(一)-概述
Go实战(一)-概述
211 0
Go实战(一)-概述