Learning go from zero to hero - Part 2
作者:Milap Neupane 链接:https://medium.freecodecamp.org/learning-go-from-zero-to-hero-d2a3223b3d86 函数 main.go包中定义的func main()是执行程序的入口。可以定义和使用更多函数。让我们看一个简单的例子: func add(a int, b int) int { c := a + b return c } func main() { fmt.Println(add(2, 1)) } // 3 正如我们在上面的例子中所看到的,使用**func关键字后跟函数名来定义 Go 函数。函数所需的参数**需要根据其数据类型定义,最后是返回的数据类型。 函数的返回也可以在函数中预定义: func add(a int, b int) (c int) { c = a + b return } func main() { fmt.Println(add(2, 1)) } // 3 这里 c 被定义为返回变量。因此,定义的变量 c 将自动返回,而无需在结尾的 return 语句中定义。 还可以从单个函数返回多个返回值,将返回值与逗号分隔开。 func add(a int, b int) (int, string) { c := a + b return c, "successfully added" } func main() { sum, message := add(2, 1) fmt.Println(message) fmt.Println(sum) } 结构、方法和接口 Go 不是一个完全面向对象的语言,但是它的结构,接口和方法,和面向对象有异曲同工之妙。 结构 结构struct是不同类型字段的集合。结构用于将数据分组在一起。例如,如果我们想要对Person类型的数据进行分组,我们会定义一个人的属性,其中可能包括姓名,年龄,性别。可以使用以下语法定义结构: type person struct { name string age int gender string } 在定义了人类型结构的情况下,现在让我们创建一个person: //方式 1:指定属性和值 p = person{name: "Bob", age: 42, gender: "Male"} //方式 2:仅指定值 person{"Bob", 42, "Male"} 我们可以用点.轻松访问这些数据 ...