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中通过结构体封装函数运行时候需要的数据,通过包封装函数。

Go-简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

  10. 1.Hibernate简介

    1.框架简介: 定义:基于java语言开发的一套ORM框架: 优点:a.方便开发;           b.大大减少代码量;           c.性能稍高(不能与数据库高手相比,较一般数据库使用者 ...

随机推荐

  1. 有了MDL锁视图,业务死锁从此一目了然

    摘要:MDL锁视图让一线运维人员清晰地查看数据库各session持有和等待的元数据锁信息,从而找出数据库MDL锁等待的根因,准确地进行下一步决策. 当多用户共同存取数据时,数据库中就会产生多个事务同时 ...

  2. 焦大:seo思维进化论(番外)

    http://www.wocaoseo.com/thread-54-1-1.html 我已经在博客说了学seo研究算法是愚蠢的行为,但是很多人仍旧来问se的算法问题,其中最多的就是问TF-IDF算法, ...

  3. 以Winsows Service方式运行JupyterLab

    有数据分析,数据挖掘,以及机器学习和深度学习实践经验的读者应该会对Jupyter Notebook这一工具十分熟悉,而JupyterLab是它的升级版本,其提供了更具扩展性,更加可定制化的功能选项. ...

  4. mysql建数据库的字符集与排序规则说明

    本文转自https://blog.csdn.net/qq_38224812/article/details/80745868,感谢作者,自己留存已备他日使用 1.字符集说明: 一般选择utf8.下面介 ...

  5. 终于有架构师用401页PDF+194张图表把设计模式讲明白了

    十几年来,IT 界也发生了翻天覆地的变化,各种开源框架层出不穷,机器学习大兴其道.但是,在面向对象编程中,设计模式的重要性却不曾改变.与以前一样,在大规模的企业系统开发中,Java和C#仍处于主导地位 ...

  6. 程序员软件开发最好的IDE集成工具eclipse各个版本的详细介绍。详细介绍,送给初学者的朋友

    对于刚接触软件开发的初学者,在下载eclipse时,对官网上面提供的各种版本的选择犹豫不决.下面将对常用的几个版本进行介绍. Eclipse版本 Eclipse Standard 该版本是eclips ...

  7. UGUI核心元素、基本控件、复合控件和高级控件

    UGUI的核心元素: Anchor(锚点):每个控件都有一个Anchor属性,控件的4个顶点,分别与Anchor的4个点保持不变的距离,不受屏幕分辨率变化的影响. 系统默认设置控件的Anchor位置在 ...

  8. docker run <image-id>和 docker start <container-id>

  9. 2020重新出发,NOSQL,Redis主从复制

    Redis主从复制 尽管 Redis 的性能很好,但是有时候依旧满足不了应用的需要,比如过多的用户进入主页,导致 Redis 被频繁访问,此时就存在大量的读操作. 对于一些热门网站的某个时刻(比如促销 ...

  10. 会话技术之 Session

    会话技术之 Session 不多废话,先来一个 HelloWorld. Session 有 get 肯定要先有 set . @Override protected void service(HttpS ...