Go語言學習及java/js/py語言與對比(一)

簡介

  • Go
    一種靜態(tài)強類型,需要編譯執(zhí)行的編程語言
  • Java
    一種需要經(jīng)過編譯執(zhí)行,面向?qū)ο笏枷氲木幊陶Z言
  • Python
    一種高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言
  • JavaScript
    一種可以插入html頁碼交給瀏覽器執(zhí)行的無需編譯的輕量級腳本語言

特點

  • Go
    1. 靜態(tài)
    2. 編譯型
    3. 內(nèi)存管理、數(shù)組安全、編譯迅速
  • Java
    1. 靜態(tài)
    2. 編譯型
    3. 強類型
  • Python
    1. 動態(tài)
    2. 編譯型
    3. 弱類型
  • JavaScript
    1. 動態(tài)
    2. 解釋型
      3.弱類型

場景

  • Go
    主要使用在分布式系統(tǒng)應用方面
  • Java
    主要使用在web服務器方面
  • Python
    主要使用在互聯(lián)網(wǎng)爬蟲數(shù)據(jù)抓取或者數(shù)據(jù)處理方面
  • JavaScript
    主要使用在html瀏覽器中展示頁面

基礎(chǔ)概念

Go

  • 標記
    Go 程序可以由多個標記組成,可以是關(guān)鍵字,標識符,常量,字符串,符號,
    即代碼中每個片段就是一個標記

  • 行分隔符
    在 Go 程序中,一行代表一個語句結(jié)束。
    每個語句不需要像 C 家族中的其它語言一樣以分號 ; 結(jié)尾

  • 注釋
    注釋不會被編譯,分為行注釋和塊注釋

  • 標識符
    標識符用來命名變量、類型等程序?qū)嶓w
    一個標識符實際上就是一個或是多個字母(AZ和az)數(shù)字(0~9)、下劃線_組成的序列
    第一個字符必須是字母或下劃線而不能是數(shù)字。

  • 字符串連接
    Go 語言的字符串可以通過 + 實現(xiàn)

  • 關(guān)鍵字
    語言中設(shè)計的保留字,不允許被使用
    Go 代碼中會使用到的 25 個關(guān)鍵字或保留字
    Go 語言還有 36 個預定義標識符

  • 空格
    Go 語言中變量的聲明必須使用空格隔開

  • 格式化
    Go 語言中使用 fmt.Sprintf 格式化字符串并賦值給新串

Java

  • 標識符
    和Go的定義基本一樣

  • 修飾符
    主要用來修飾類中的方法和屬性,分為
    訪問控制修飾符 default, public , protected, private
    非訪問控制修飾符 final, abstract, static, synchronized

  • 變量
    分為:
    類變量,為靜態(tài)變量,是屬于當前類共同擁有,容易發(fā)生安全問題
    成員變量,為非靜態(tài)變量,是屬于當前的類實例對象擁有,也會發(fā)生安全問題
    局部變量,一般存在于方法局部,用完就會被回收掉

  • 數(shù)組
    一種儲存在堆上的對象,可以保存多個同類型變量

  • 枚舉
    枚舉限制變量只能是預先設(shè)定好的值。使用枚舉可以減少代碼中的 bug

  • 關(guān)鍵字
    同Go語言定義,但是內(nèi)容不同

  • 注釋
    同Go語言定義及分類

  • 繼承

    • 概念:
      java中一個類可以由其他類派生。如果你要創(chuàng)建一個類,而且已經(jīng)存在一個類具有你所需要的屬性或方法,那么你可以將新創(chuàng)建的類繼承該類。
    • 重點:
      1. java中只支持單繼承
      2. 繼承注重于方法的擴展
  • 接口

    • 概念
      接口可理解為對象間相互通信的協(xié)議。接口在繼承中扮演著很重要的角色。接口只定義派生要用到的方法,但是方法的具體實現(xiàn)完全取決于派生類。派生類需要實現(xiàn)接口并重寫方法
    • 重點
      1. java中支持多實現(xiàn)
      2. 實現(xiàn)注重于方法的重寫

Python

  • 標識符
    python中的標識符不能以數(shù)據(jù)開頭,但是可以以下劃線開頭,和java,Go中都不一樣
    以下劃線開頭的代表了特殊的意義,
    單下劃線代表不能直接訪問的類屬性,需通過類提供的接口進行訪問
    雙下劃線開頭的 代表類的私有成員,
    雙下劃線開頭和結(jié)尾的 代表 Python 里特殊方法專用的標識

  • 關(guān)鍵字
    定義和java,go一樣,但是內(nèi)容不同

  • 行和縮進
    python中的代碼塊,取消{}包裹,然后使用嚴格的縮進格式來代替。
    縮進的空白數(shù)量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數(shù)量,這個必須嚴格執(zhí)行,不然會報錯

  • 多行語句
    和go一樣,一行代表一句

  • 引導
    字符串的標識可以用單引號,雙引號,三引號來表示,三引號一般用來表示多行文字

  • 注釋
    python中的注釋采用#開頭

JavaScript

  • 字面量
    即java中的常量或者數(shù)值,是一個固定的值

  • 變量
    一個可變的數(shù)據(jù)值

  • 操作符
    算術(shù)操作符
    賦值操作符
    邏輯運算符

  • 語句
    一行程序,需要以分號結(jié)束

  • 注釋
    使用//進行注釋

  • 關(guān)鍵字
    同樣的概念

變量類型

Go

  • 布爾類型
  • 數(shù)字類型
  • 字符串類型
  • 派生類型
    1. 數(shù)組
    2. 指針
    3. 結(jié)構(gòu)化
    4. Channel
    5. 函數(shù)類型
    6. 切片類型
    7. 接口類型
    8. Map類型

Java

  • 布爾類型
  • 字符串類型
  • 數(shù)字類型(整型,浮點型)
  • 自定義類型

Python

  • 數(shù)字類型
  • 字符串類型
  • 元組類型
  • 列表類型
  • 字典類型

JavaScript

  • 字符串類型
  • 數(shù)字類型
  • 布爾類型
  • 對空類型
  • 未定義類型
  • Symbol
  • 對象類型
  • 數(shù)組類型
  • 函數(shù)類型
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Go語言結(jié)構(gòu) Go語言的基礎(chǔ)組成有一下幾個部分: 包聲明 包引入 函數(shù) 變量 語句&表達式 注釋 關(guān)于Go的語言組...
    EvansChang閱讀 319評論 0 0
  • 變量聲明與初始化 Go語言是靜態(tài)類型語言,變量有明確=類型,編譯器也會檢查變量類型的正確性。變量聲明標準格式如下:...
    小猿筆錄閱讀 596評論 0 0
  • Go 語言的基礎(chǔ)組成有以下幾個部分:包聲明 引入包 函數(shù) 變量 語句 & 表達式 注釋 當標識符(包括常量、變量、...
    安然在路上閱讀 322評論 0 0
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂有人憂愁,有人驚喜有人失落,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,876評論 28 54
  • 信任包括信任自己和信任他人 很多時候,很多事情,失敗、遺憾、錯過,源于不自信,不信任他人 覺得自己做不成,別人做不...
    吳氵晃閱讀 6,382評論 4 8

友情鏈接更多精彩內(nèi)容