zoukankan      html  css  js  c++  java
  • Go-简介

    Go简介

      Google开发,新的具有面向接口、函数式编程、并发编程特点的编译性强类型通用编程语言

    Go核心

      1. 接口

      2. 并发编程

      3. 函数

    Go-接口

    package main
    
    import "fmt"
    
    // 定义了一个接口类型,吃和跑两个方法
    type function interface {
    	eat (string)
    	run ()
    }
    
    // 定义狗这个结构体
    type Dog struct {
    	Name string
    	Age int
    }
    
    // 吃方法
    func (self *Dog) eat(food string)  {
    	fmt.Println(self.Name, "eat..ing", food)
    }
    
    // 跑方法
    func (self *Dog) run()  {
    	fmt.Println(self.Name, self.Age, "run ..ing")
    }
    
    // 猫
    type Cat struct {
    	Skin string
    	Name string
    }
    
    // 吃
    func (self *Cat) eat(food string)  {
    	fmt.Println(self.Name, "eat ...ing", food)
    }
    
    // 跑
    func (self *Cat) run()  {
    	fmt.Println(self.Name, self.Skin, "run ..ing")
    }
    
    func main() {
    	dog := &Dog{
    		Name: "xiaoHua",
    		Age: 18,
    	}
    	var dogInterface function = dog
    	dogInterface.eat("banana")
    	dogInterface.run()
    	
    	cat := &Cat{
    		Name: "xiaoXiao",
    		Skin: "white",
    	}
    	var catInterface function = cat
    	catInterface.eat("fish")
    	catInterface.run()
    }
    

     观察发现,有以下特性

        1. 接口只关心这个结构体是否实现接口中定义的方法

        2. 结构体实现接口中所有方法,就认为实现了这个接口

        3. 接口类型不关心对象是谁,只关心对象是否全部实现接口中的方法

    Go-并发编程

      关键字 go

      相关数据结构  channel    进程之间通信,采用csp模型

    Go-函数编程

      在Go语言中,函数是第一等公民。Go中通过结构体封装函数运行时候需要的数据,通过包封装函数。

  • 相关阅读:
    「SELECT~FOR UPDATE NOWAIT」
    IT精英完美的七种生活方式
    ASP.NET下载CSV文件
    对一个Frame内控件的遍历
    .Net日期与时间的取得方法
    表的字段修改(SQL语句)
    谁能给我一些软件开发相关的名言警句
    LeetCode: Add two numbers
    LeetCode: 3Sum
    LeetCode: 4Sum
  • 原文地址:https://www.cnblogs.com/2bjiujiu/p/9035740.html
Copyright © 2011-2022 走看看