【1】基础语法
1. 注释
package main
import "fmt"
func main() {
// 单行注释
// 这是一个终端打印文本的功能
/*
这是一个多行注释
这是一个多行注释
这是一个多行注释
*/
fmt.Println("hello world!")
}
2. 变量
(1)变量的基本使用
package main
import "fmt"
func main() {
//(1)变量的基本使用
var x = 100
fmt.Println(x)
var y = 200
fmt.Println(y)
fmt.Println(x + y)
var z = x + y
fmt.Println(z)
}
(2) 变量的赋值
//(2) 变量的语法
// var 变量名 类型 = 表达式 先声明,再赋值
var x int8 // 声明一个int8类型的变量
x = 100 // 给变量赋值
fmt.Println(x)
var y = 200 // 声明一个int类型的变量,并赋值
fmt.Println(y)
// 简写形式
z := 300 // var z = 300
fmt.Println(z)
var a, b, c = 100, 200, 300
fmt.Println(a, b, c)
扩展
案例1
var x = 100
var x = 200
fmt.Println(x)
打印我们发现报错了
- 重复声明变量错误:
代码中连续两次使用var x = ...
声明同一个变量x,这在Go语言中是不允许的
Go不允许在同一作用域内重复声明同名变量
- 正确的做法应该是:
var x = 100 // 声明并初始化
x = 200 // 重新赋值
fmt.Println(x)
或者使用不同的变量名
案例2
var a, b = 100, 200
var c = a + b
fmt.Println(c)
案例3
var a = 100
var b = a
a = 200
fmt.Println(a, b)
打印出来是 200 100
var b = a
指的值拷贝,并不是 b
指向a
的内存
(3)匿名变量
匿名变量即没有命名的变量,在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量(anonymous variable)。匿名变量用一个下划线_表示。
// 匿名变量
var _, b = 100, 200
// _ 是一个特殊的标识符,任何赋予它的值都会被抛弃
// 因此,_ 通常用于忽略调用函数的返回值
// 例如:fmt.Println()函数输出结果后,会将结果丢弃,所以使用 _ 来接受这个结果
fmt.Println(b)
匿名变量不占用命名空间,不会分配内存
让代码非常清晰,基本上屏蔽掉了可能混淆代码阅读者视线的内容,从而大幅降低沟通的复杂度和代码维护的难度。
(4) 变量的命名规范
变量命名是需要遵循一定的语法规范的,否则编译器不会通过。
1、变量名称必须由数字、字母、下划线组成。
2、标识符开头不能是数字。
3、标识符不能是保留字和关键字。
4、建议使用驼峰式命名,当名字有几个单词组成的时优先使用大小写分隔
5、变量名尽量做到见名知意。
6、变量命名区分大小写
go语言中有25个关键字,不能用于自定义变量名
还有30多个预定义的名字,用于内建的常量、类型和函数