【Golang】✔️走进 Go 语言✔️ 第二课 语法基础

举报
我是小白呀iamarookie 发表于 2021/09/10 00:37:34 2021/09/10
【摘要】 【Golang】✔️走进 Go 语言✔️ 第二课 语法基础 概述Go 语法基础关键字标识符数据类型 变量声明多变量声明值类型和引用类型 概述 Golang 是一个跨平台的新生编程语言....

【Golang】✔️走进 Go 语言✔️ 第二课 语法基础

概述

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

在这里插入图片描述

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 是一种区分大小写的编程语言.

数据类型

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

例子:

package main

import "fmt"

func main() {

	// 定义字符串变量
	var str = "我是小白呀"

	// 定义整数型变量
	var integer = 8

	// 定义浮点型变量
	var float = 1.2

	// 定义布尔类型变量
	var bool = true

	fmt.Println("string: ", str, "\ninteger: ", integer, "\nfloat: ", float, "\nboolean: ", bool)

}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

输出结果:

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

  
 
  • 1
  • 2
  • 3
  • 4

变量声明

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

var  变量名 变量类型
变量名 = 值

  
 
  • 1
  • 2

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

var 变量名 = 值

  
 
  • 1

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

v_name := value

  
 
  • 1

在这里插入图片描述

例子:

package main

import "fmt"

func main() {

	// 方法一
	var num1 int      // 声明变量
	num1 = 1          // 赋值
	fmt.Println(num1) // 调试输出

	// 方法二
	var num2 = 2      // 自行判定变量类型
	fmt.Println(num2) // 调试输出

	// 方法三
	num3 := 3         // 省略var
	fmt.Println(num3) // 调试输出
	
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

输出结果:

1
2
3

  
 
  • 1
  • 2
  • 3

多变量声明

格式:

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

  
 
  • 1

例子:

package main

import "fmt"

func main() {

	// 多变量声明
	var num4, num5, num6 = 1, 2, 3
	fmt.Println(num4, num5, num6)  // 调试输出
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

输出结果:

1 2 3

  
 
  • 1

值类型和引用类型

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

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

例子:

package main

import "fmt"

func main() {

	// 定义变量
	var num1 = 2
	var num2 = num1

	// 调试输出值和地址
	fmt.Println(num1, &num1)
	fmt.Println(num2, &num2)
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

输出结果:

2 0xc0000ac058
2 0xc0000ac070

  
 
  • 1
  • 2

文章来源: iamarookie.blog.csdn.net,作者:我是小白呀,版权归原作者所有,如需转载,请联系作者。

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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。