脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - 手把手带你走进Go语言之语法基础解析

手把手带你走进Go语言之语法基础解析

2021-09-19 00:50我是小白呀 Golang

这篇文章主要介绍了手把手带你走进Go语言之语法基础,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

概述

Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. (第 2 课)

手把手带你走进Go语言之语法基础解析

Go 语法基础

Go 程序可以由多个标记组成:

  • 关键字
  • 标识符
  • 常量
  • 字符串
  • 符号

手把手带你走进Go语言之语法基础解析

关键字

Go 语言有 25 个关键字:

关键字 作用
var & const 变量和常量的声明
package & import 导入
func 用于定义函数和方法
return 用于函数返回
defer someCode 在函数退出前执行
go 用于并行
select 用于选择不同类型的通讯
interface 用于定义接口
struct 用于定义抽象数据类型
break, case, continue, for, falthrough, else, if. switch, goto, defult 流程控制
chan 用于 channel 通讯
type 用于声明自定义类型
map 用于声明 map 类型数据
range 用于读取 slice, map, channel 数据

标识符

标识符用来命名变量, 类型等程序实体. 一个标识符实际上就是一个或者多个字母 (A-Z 和 a-z), 数字 (0-9), 下划线 (_) 组成的序列. 但是第一个字符必须是字母或者下换线而不是数字.

手把手带你走进Go语言之语法基础解析

Go 不允许在表示符中使用标点符号, 例如: “@”, “$”, 和 “%”. 并且 Go 是一种区分大小写的编程语言.

数据类型

类型 说明
布尔类型 (Boolean) true / false
整数类型 (Integer) 1, 2, 3, 4, …
浮点类型 (Float) 1.1, 2.2, 3.3, 4.4, …
字符串类型 (String) 字符串类型表示字符串值的合集. 字符串是不可变类型, 一旦创建后, 就不可能改变字符串的内容.
派生类型 包括指针可型, 数组类型, 结构类型, 联合类型, 函数类型, 切片类型, 接口类型

例子:

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6.  
  7. // 定义字符串变量
  8. var str = "我是小白呀"
  9.  
  10. // 定义整数型变量
  11. var integer = 8
  12.  
  13. // 定义浮点型变量
  14. var float = 1.2
  15.  
  16. // 定义布尔类型变量
  17. var bool = true
  18.  
  19. fmt.Println("string: ", str, "\ninteger: ", integer, "\nfloat: ", float, "\nboolean: ", bool)
  20.  
  21. }

输出结果:

string: 我是小白呀
integer: 8
float: 1.2
boolean: true

变量声明

格式 1, 指定变量类型, 声明后再进行赋值:

  1. var 变量名 变量类型
  2. 变量名 =

格式 2, 根据值自行判定变量类型:

  1. var 变量名 =

格式 3, 省略 var. (注意: “:=” 左侧的变量不应该是已经声明过的, 否则会导致编译错误):

  1. v_name := value

手把手带你走进Go语言之语法基础解析

例子:

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6.  
  7. // 方法一
  8. var num1 int // 声明变量
  9. num1 = 1 // 赋值
  10. fmt.Println(num1) // 调试输出
  11.  
  12. // 方法二
  13. var num2 = 2 // 自行判定变量类型
  14. fmt.Println(num2) // 调试输出
  15.  
  16. // 方法三
  17. num3 := 3 // 省略var
  18. fmt.Println(num3) // 调试输出
  19.  
  20. }

输出结果:

1
2
3

多变量声明

格式:

  1. var 变量名称1, 变量名称2, 变量名称3 = 1, 2, 2

例子:

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6.  
  7. // 多变量声明
  8. var num4, num5, num6 = 1, 2, 3
  9. fmt.Println(num4, num5, num6) // 调试输出
  10. }

输出结果:

1 2 3

值类型和引用类型

所有像 int, float, bool 和 string 这些基本类型都属于值类型. 使用这些类型的变量直接指向存在内存中的值.

手把手带你走进Go语言之语法基础解析

当使用等号 “=” 将一个变量赋值给另一个变量时 (num2 = num1). 实际上在内存中将 num1 的值进行了拷贝.

例子:

  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6.  
  7. // 定义变量
  8. var num1 = 2
  9. var num2 = num1
  10.  
  11. // 调试输出值和地址
  12. fmt.Println(num1, &num1)
  13. fmt.Println(num2, &num2)
  14. }

输出结果:

2 0xc0000ac058
2 0xc0000ac070

到此这篇关于手把手带你走进Go语言之语法基础解析的文章就介绍到这了,更多相关Golang 语法基础内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_46274168/article/details/119471979

延伸 · 阅读

精彩推荐
  • GolangGo语言实现自动填写古诗词实例代码

    Go语言实现自动填写古诗词实例代码

    这篇文章主要给大家介绍了关于Go语言实现自动填写古诗词的相关资料,这是最近在项目中遇到的一个需求,文中通过示例代码介绍的非常详细,需要的朋...

    FengY5862020-05-14
  • GolangGo语言range关键字循环时的坑

    Go语言range关键字循环时的坑

    今天小编就为大家分享一篇关于Go语言range关键字循环时的坑,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来...

    benben_20154202020-05-23
  • Golang深入浅析Go中三个点(...)用法

    深入浅析Go中三个点(...)用法

    这篇文章主要介绍了深入浅析Go中三个点(...)用法,需要的朋友可以参考下...

    踏雪无痕SS6472021-11-17
  • GolangGO语言字符串处理Strings包的函数使用示例讲解

    GO语言字符串处理Strings包的函数使用示例讲解

    这篇文章主要为大家介绍了GO语言字符串处理Strings包的函数使用示例讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加...

    Jeff的技术栈6882022-04-14
  • Golanggo语言获取系统盘符的方法

    go语言获取系统盘符的方法

    这篇文章主要介绍了go语言获取系统盘符的方法,涉及Go语言调用winapi获取系统硬件信息的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 ...

    无尽海3862020-04-24
  • GolangGo语言基础单元测试与性能测试示例详解

    Go语言基础单元测试与性能测试示例详解

    这篇文章主要为大家介绍了Go语言基础单元测试与性能测试示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助祝大家多多进步...

    枫少文7812021-12-05
  • GolangGolang 语言极简类型转换库cast的使用详解

    Golang 语言极简类型转换库cast的使用详解

    本文我们通过 cast.ToString() 函数的使用,简单介绍了cast 的使用方法,除此之外,它还支持很多其他类型,在这没有多多介绍,对Golang 类型转换库 cast相关知...

    Golang语言开发栈6112021-12-02
  • GolangGolang实现四种负载均衡的算法(随机,轮询等)

    Golang实现四种负载均衡的算法(随机,轮询等)

    本文介绍了示例介绍了Golang 负载均衡的四种实现,主要包括了随机,轮询,加权轮询负载,一致性hash,感兴趣的小伙伴们可以参考一下...

    Gundy_8442021-08-09