Go语言学习及java/js/py语言与对比(一)

简介

  • Go
    一种静态强类型,需要编译执行的编程语言
  • Java
    一种需要经过编译执行,面向对象思想的编程语言
  • Python
    一种高层次的结合了解释性、编译性、互动性和面向对象的脚本语言
  • JavaScript
    一种可以插入html页码交给浏览器执行的无需编译的轻量级脚本语言

特点

  • Go
    1. 静态
    2. 编译型
    3. 内存管理、数组安全、编译迅速
  • Java
    1. 静态
    2. 编译型
    3. 强类型
  • Python
    1. 动态
    2. 编译型
    3. 弱类型
  • JavaScript
    1. 动态
    2. 解释型
      3.弱类型

场景

  • Go
    主要使用在分布式系统应用方面
  • Java
    主要使用在web服务器方面
  • Python
    主要使用在互联网爬虫数据抓取或者数据处理方面
  • JavaScript
    主要使用在html浏览器中展示页面

基础概念

Go

  • 标记
    Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号,
    即代码中每个片段就是一个标记

  • 行分隔符
    在 Go 程序中,一行代表一个语句结束。
    每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾

  • 注释
    注释不会被编译,分为行注释和块注释

  • 标识符
    标识符用来命名变量、类型等程序实体
    一个标识符实际上就是一个或是多个字母(AZ和az)数字(0~9)、下划线_组成的序列
    第一个字符必须是字母或下划线而不能是数字。

  • 字符串连接
    Go 语言的字符串可以通过 + 实现

  • 关键字
    语言中设计的保留字,不允许被使用
    Go 代码中会使用到的 25 个关键字或保留字
    Go 语言还有 36 个预定义标识符

  • 空格
    Go 语言中变量的声明必须使用空格隔开

  • 格式化
    Go 语言中使用 fmt.Sprintf 格式化字符串并赋值给新串

Java

  • 标识符
    和Go的定义基本一样

  • 修饰符
    主要用来修饰类中的方法和属性,分为
    访问控制修饰符 default, public , protected, private
    非访问控制修饰符 final, abstract, static, synchronized

  • 变量
    分为:
    类变量,为静态变量,是属于当前类共同拥有,容易发生安全问题
    成员变量,为非静态变量,是属于当前的类实例对象拥有,也会发生安全问题
    局部变量,一般存在于方法局部,用完就会被回收掉

  • 数组
    一种储存在堆上的对象,可以保存多个同类型变量

  • 枚举
    枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的 bug

  • 关键字
    同Go语言定义,但是内容不同

  • 注释
    同Go语言定义及分类

  • 继承

    • 概念:
      java中一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。
    • 重点:
      1. java中只支持单继承
      2. 继承注重于方法的扩展
  • 接口

    • 概念
      接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。派生类需要实现接口并重写方法
    • 重点
      1. java中支持多实现
      2. 实现注重于方法的重写

Python

  • 标识符
    python中的标识符不能以数据开头,但是可以以下划线开头,和java,Go中都不一样
    以下划线开头的代表了特殊的意义,
    单下划线代表不能直接访问的类属性,需通过类提供的接口进行访问
    双下划线开头的 代表类的私有成员,
    双下划线开头和结尾的 代表 Python 里特殊方法专用的标识

  • 关键字
    定义和java,go一样,但是内容不同

  • 行和缩进
    python中的代码块,取消{}包裹,然后使用严格的缩进格式来代替。
    缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行,不然会报错

  • 多行语句
    和go一样,一行代表一句

  • 引导
    字符串的标识可以用单引号,双引号,三引号来表示,三引号一般用来表示多行文字

  • 注释
    python中的注释采用#开头

JavaScript

  • 字面量
    即java中的常量或者数值,是一个固定的值

  • 变量
    一个可变的数据值

  • 操作符
    算术操作符
    赋值操作符
    逻辑运算符

  • 语句
    一行程序,需要以分号结束

  • 注释
    使用//进行注释

  • 关键字
    同样的概念

变量类型

Go

  • 布尔类型
  • 数字类型
  • 字符串类型
  • 派生类型
    1. 数组
    2. 指针
    3. 结构化
    4. Channel
    5. 函数类型
    6. 切片类型
    7. 接口类型
    8. Map类型

Java

  • 布尔类型
  • 字符串类型
  • 数字类型(整型,浮点型)
  • 自定义类型

Python

  • 数字类型
  • 字符串类型
  • 元组类型
  • 列表类型
  • 字典类型

JavaScript

  • 字符串类型
  • 数字类型
  • 布尔类型
  • 对空类型
  • 未定义类型
  • Symbol
  • 对象类型
  • 数组类型
  • 函数类型

你可能感兴趣的:(Go语言学习及java/js/py语言与对比(一))