Golang学习笔记---方法和接口方法的使用

Golang学习笔记---方法和接口方法的使用

源码Github链接methodAndInterface.go

package main

import "fmt"





/*
结构体

结构体定义需要使用 type 和 struct 语句。
struct 语句定义一个新的数据类型,结构体有中一个或多个成员。type 语句设定了结构体的名称。
 */
type Car struct {
    id int
}



/* 定义接口 */
type ICar interface {
    beep()
    drive(dirver string)
}
/* 函数方法定义

Go 语言中同时有函数和方法。
一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的一个值或者是一个指针。
所有给定类型的方法属于该类型的方法集。
s
func (variable_name variable_data_type) function_name() (return_types){
    // 函数体
}
*/

/* 实现接口方法 */
func (car Car) beep() {
    // %v  相应值的默认格式。 Printf("%v", people) {zhangsan},
    fmt.Printf("Car %v beeps, the %v time\n", car.id)

}
/* 实现接口方法 */
func (car Car) drive(driver string)  {
    fmt.Printf("%v drives car %v", driver, car.id)
}

func Method()  {
    c1 := Car{id:1001}
    c1.beep()
}

func Interface()  {
    var c2 = Car{id:1002}
    // 接口赋值
    var ic2 ICar = c2
    ic2.beep()
    ic2.drive("bob")
}

func main()  {
    Method()
    Interface()
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,095评论 25 709
  • Go最新资料汇总链接 Golang资料集 《Platform-native GUI library for Go》...
    Albert陈凯阅读 11,080评论 0 148
  • 1.Licode模块 Erizo 基于webRTC针对视屏会议场景的一对多组件 Erizo API Erizo的N...
    星月西阅读 8,393评论 0 0
  • 人的一生有无数个第一次,然而第一次是多么的向往憧憬却又紧张的。 第一次向往,第一次想念,第一次前进,第一次...
    A_714e阅读 1,112评论 0 0

友情链接更多精彩内容