Go语言特性

 

1.可以有多个返回值

func swap(x, y string) (string, string) {
   return y, x
}

a,b=swap(x,y)

2.函数使用

---作为值使用

Getvalue:=func(a int,b int)int{

         Return a+b;

}

---返回值可以是一个函数

---方法-特定接受者的函数

t

ype Circle struct {

  radius float64

}


func main() {

  var c1 Circle

  c1.radius = 10.00

  fmt.Println("圆的面积 = ", c1.getArea())

}


//该 method 属于 Circle 类型对象中的方法

func (c Circle) getArea() float64 {

  //c.radius 即为 Circle 类型对象中的属性

  return 3.14 * c.radius * c.radius

}

3.数组使用

定义数组—指出个数和类型

var balance [10] float32

初始化

var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

4.接口

/* 定义接口 */
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 Phone interface {
    call()
}

type NokiaPhone struct {
}

func (nokiaPhone NokiaPhone) call() {
    fmt.Println("I am Nokia, I can call you!")
}

type IPhone struct {
}

func (iPhone IPhone) call() {
    fmt.Println("I am iPhone, I can call you!")
}

func main() {
    var phone Phone

    phone = new(NokiaPhone)
    phone.call()

    phone = new(IPhone)
    phone.call()

}

 

你可能感兴趣的:(实习)