go语言基础

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()
}
    原文作者:迎风起飞的猪
    原文地址: https://www.jianshu.com/p/a3b034775fd4
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞