大一萌新初学go,作为略微学习过java和c++的人,个人感觉go与两边都有相似的地方,更有一种集合了两边的优点的感觉,今天是开营的第一堂课,我整理了以下go基础语法
-
函数:
Go语言中的函数使用关键字func声明,可以有参数和返回值。函数名首字母大写表示可导出(public),小写表示私有(private)。func add(a, b int) int { return a + b }**
-
变量:
变量声明使用关键字var,可以指定变量类型或使用类型推断。变量可以在声明时初始化或留空,然后通过赋值来赋初值。var num int num = 10 name := "Alice"**
-
循环:
Go语言提供了for循环来重复执行代码块。可以使用for、range和break语句来控制循环。for i := 1; i <= 5; i++ { fmt.Println(i) } numbers := []int{1, 2, 3, 4, 5} for _, num := range numbers { fmt.Println(num) }**
-
条件语句:
使用if语句进行条件判断,还可以与else和else if结合使用来处理多个条件。num := 10 if num > 0 { fmt.Println("Positive") } else if num < 0 { fmt.Println("Negative") } else { fmt.Println("Zero") }**
-
指针:
使用指针可以在函数中传递变量的引用,并允许对原始变量进行修改。使用&运算符获取变量地址,使用*运算符获取指针指向的值。num := 10 ptr := &num fmt.Println(*ptr) // 输出:10**
-
结构体:
结构体是一种自定义的数据类型,它可以包含多个字段。可以使用.操作符来访问结构体的字段。type Person struct { Name string Age int } p := Person{ Name: "Alice", Age: 25, } fmt.Println(p.Name, p.Age)**
-
切片:
切片是一个动态大小的序列,可以通过对数组进行切片来创建。切片提供了便捷的操作和可变长度。numbers := []int{1, 2, 3, 4, 5} fmt.Println(numbers[2:4]) // 输出:[3 4]**
-
映射:
映射是一种键值对的集合。可以使用make函数创建映射,使用方括号[]来访问和更新映射中的值。m := make(map[string]int) m["A"] = 1 m["B"] = 2 fmt.Println(m["A"]) // 输出:1**
-
方法:
Go语言中的方法是与特定类型关联的函数。可以在结构体上定义方法,使用.操作符来调用方法。type Rectangle struct { Width int Height int } func (r Rectangle) Area() int { return r.Width * r.Height } rect := Rectangle{Width: 10, Height: 5} fmt.Println(rect.Area()) // 输出:50**
-
接口:
接口定义了一组方法的集合,实现了这些方法的类型就实现了该接口。接口提供了多态性和灵活性的特性。type Shape interface { Area() float64 } type Rectangle struct { Width float64 Height float64 } func (r Rectangle) Area() float64 { return r.Width * r.Height } shape := Rectangle{Width: 10, Height: 5} fmt.Println(shape.Area()) // 输出:50.0