变量
变量对内存中一块数据进行空间命名。
为什么要进行空间命名?
后续使用这块内存就需要这个变量名来代替它
变量声明
使用var关键字进行声明
var n1 int // 声明一个 n1 的整型变量
var s2 string // 声明一个 s2 的字符串变量
var arr []int // 声明一个arr的切片变量
var struct1 struct { // 声明一个struct1的结构体变量
}
变量的初始化
var age int = 18 //显示声明int类型
var height = 10 //直接赋值为10 go会自动推导height为整型
这里可以看到height为 int类型
变量赋值
var age int
age = 10
//也可以使用简短声明 :=
height := 20
//可以多重赋值来交换变量
i,j = j,i
匿名变量
func main() {
_, _, _, player4 := playGames() //可以使用 _ 来代替不需要接受的值
fmt.Println(player4)
}
// 定义一个玩家函数
func playGames() (string, string, string, string) // 函数的返回值类型{
return "关羽", "赵云", "张飞", "刘备" // 函数 可以返回多个值
}
常量
常量 就是硬编码的常量
什么是硬编码?
硬编码(Hardcoding)是指在程序代码中直接使用具体的数值、字符串或其他常量,而不是使用变量或配置文件来表示这些值。
硬编码的特点是将常量直接写入代码中,这样在需要修改这些值时,需要直接修改代码并重新编译程序。这种做法在一些简单的场景下可能是可行的,但在大多数情况下是不推荐的。
硬编码的问题在于它缺乏灵活性和可维护性。当需要修改常量的值时,必须修改源代码并重新编译整个程序,这会增加开发和部署的复杂性。此外,硬编码还会导致代码的可读性降低,因为常量的含义不明确,需要查看代码才能理解其作用。
相比之下,使用变量或配置文件来表示常量值更具有灵活性和可维护性。通过将常量值抽象为变量或配置项,可以在不修改源代码的情况下更改这些值。这使得程序更易于配置和调整,同时也提高了代码的可读性和可维护性。
因此,为了提高代码的可维护性和灵活性,应尽量避免硬编码,而是使用变量、配置文件或其他外部资源来表示常量值。这样可以使程序更易于调整和扩展,减少代码修改的复杂性,并提高代码的可读性和可维护性。
通过const关键字来定义常量
const PI float64 = 3.141592653358979323846 //浮点类型
const ( // 多重赋值
size int64 = 1024
age = 18
)
const a ,b ,c = 1,"foo",1.21121
预定义常量
预定义常量有这些 true,false,iota
const (
c0 = iota //0
c1 //1
c2 //2
c3 //3
)
类型
go语言内置类型
bool int8 byte int16 int uint uintptr float32 float64 complex64 complex128 string rune error pointer array slice map chan struct interface
运算
//数值运算 + - * % /
//比较运算 > < == >= <= !=
流程控制
if a < 50 {
return 0
} else {
return 1
}
switch i {
case 0:
fmt.Println("i=0")
case 1:
fmt.Println("i=1")
case 2:
fmt.Println("i=2")
}
var a= 60
for{ //无限循环
if a > 50 {
break //跳出循环
}
}
完毕 参考书籍go语言圣经