go语言基础
package main
import "fmt"
func main() {
var a int = 10
var b = 20
/// 这种新式声明对象的时候 C 必须为未声明的对象
c := 30
/// 打印
fmt.Println("a =",a,"b =",b,"c =",c)
const num = 100
const num1,num2 = 10,20
fmt.Println(num,num1,num2)
/// iota 表示从0开始,自动加一 声明常量
const(
Kevin = iota + 10
Kevin1
Kevin2
)
fmt.Println(Kevin,Kevin1,Kevin2)
var nums = max(10,20)
/// 打印
fmt.Println(nums)
return_name("kevin")
var array = []int{10,20,30}
/// &取地址
fmt.Println(array,&array[1])
/// 动态数组(切片)
fmt.Println("切片 = ",array[:2])
fmt.Println("切片 = ",array[:])
rangeFunc()
mapFunc()
}
/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
/* 定义局部变量 */
var result int
if (num1 > num2) {
result = num1
} else {
result = num2
}
return result
}
/// 函数传参
func return_name(kevin string) {
fmt.Println("welcome",kevin)
}
/// Range的使用
func rangeFunc() {
nums := []int{0,22,33,55,66,88}
// for index,num := range nums {
//// 打印索引值和Value
// fmt.Println(index,"=",num)
// }
for num := range nums {
// 打印索引
fmt.Println(num)
}
}
/// map 集合
func mapFunc() {
// var dict map[string]string
dict := make(map[string]string)
dict["kevin"] = "张广义"
dict["Alice"] = "冯殊荣"
dict["Tom"] = "猫"
dict["Jerry"] = "老鼠"
for name := range dict {
fmt.Println(name,"=",dict[name])
}
flagK,flagV := dict["kevin"]
if (flagV) {
fmt.Println(flagK,flagV)
}else {
fmt.Println("No Jack")
}
}
go 语言接口
Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。
/// go语言接口定义
/* 定义接口 */
type interface_name interface {
method_name1 [return_type]
method_name2 [return_type]
method_name3 [return_type]
...
method_namen [return_type]
}
/* 定义结构体 */
type struct_name struct {
/* variables */
}
/* 实现接口方法 */
func (struct_name_variable struct_name) method_name1() [return_type] {
/* 方法实现 */
}
...
func (struct_name_variable struct_name) method_namen() [return_type] {
/* 方法实现*/
}
package main
import "fmt"
/// 定义接口
type Kevins interface {
calls()
}
/// 定义结构体
type Toms struct {
}
/// 实现接口方法
func (toms Toms) calls(){
fmt.Println("实现接口方法")
}
func main() {
var name Kevins
name = new(Toms)
name.calls()
}