天天看點

c語言和go,01-Go語言與C語言的異同-Go語言中文社群

Go語言程式組成

和C語言一樣,Goa語言也是由衆多函數組成

和C語言一樣,程式運作會自動調用叫做main的函數

和C語言程式一樣,如果一個程式沒有主函數,則這個程式不具備運作能力

和C語言程式一樣,一個Go語言程式有且隻能有一個主函數

Go語言主函數格式

Go語言main函數格式

func 告訴系統這是一個函數

main 主函數固定名稱

函數括号必須和函數在同一行

main函數必須寫在main包中package main

import "fmt"

func main() {

fmt.Printf("我是第一個Go");

}

Go語言和C語言的異同

1. 檔案類型不同

C語言代碼儲存的檔案是以.c結尾

Go語言代碼儲存的檔案是以.go結尾

2.代碼管理的方式不同

c語言是以檔案的方式管理代碼

C語言會把不同類型的代碼放到不同的.c檔案中, 然後再編寫對應的.h檔案

需要使用時直接通過#include導入對應檔案的.h檔案即可Go語言程式用包的形式管理代碼

注意點:

Go語言的main函數,隻能寫在package main這個包中

Go語言規定,包名要和.go檔案所在的檔案夾名稱保持一緻

Go語言規定,包名不能重複

在Go語言中,一個檔案夾就是一個包,隻需要将不同類型的.go檔案放到不同的檔案夾中,然後通過package聲明包名即可

我們會把不同類型的代碼放到不同的.go檔案中,然後通過package給該檔案指定一個包名

需要使用時直接通過import導入對應的包名即可

3.函數的編寫格式不同

C語言函數編寫格式

注意點: C語言函數的左括号可以和函數名稱在同一行, 也可以不在同一行傳回值類型 函數名稱(形參清單) {

函數體相關語句;

return 傳回值;

}

Go語言函數編寫格式

注意點: Go語言函數的左括号必須和函數名稱在同一行,否則會報錯func 函數名稱(形參清單)(傳回值清單) {

函數體相關語句;

return 傳回值;

}

4. 函數調用格式不同

C語言通過#include導入.h檔案後,直接通過函數名稱調用函數

Go語言通過import導入對應的包後,需要通過包名/函數名稱的方式調用#include

int main()

{

printf("hello world");// 直接利用函數名稱調用函數

return 0;

}

package main

import "fmt"

func main() {

fmt.Printf("我是第一個Go");//通過包名.函數名調用

}

5.語句結束方式不同

C語言中每條語句都必須以分号結尾

Go語言中每條語句後面不用添加分号(編譯器會自動添加),但是如果兩條語句寫在同一行就需要添加分号

6.如何向控制台輸出内容

C語言中,#include 告訴系統去哪裡找執行輸出函數的實作,printf()告訴系統要輸出的内容

Go語言中如何實作輸出

Go語言中,import "fmt" 告訴系統去哪裡找輸出函數的實作,fmt.Printf();告訴系統要輸出什麼内容

7.代碼的嚴格程度不同

C語言中include一個.h檔案,如果不使用也不會報錯

Go語言中import包後,如果沒有使用,就會報錯

C語言中定義變量沒有使用不會報錯

Go語言中定義變量沒有使用就會報錯

C語言中函數{可以和函數在同一行也可以不在同一行

Go語言中函數的{必須和函數名稱在同一行,否則會報錯

Go語言編碼風格

1.go程式編寫在.go為字尾的檔案中

2.包名一般使用檔案所在檔案夾的名稱

3.包名應該簡潔、清晰且全小寫

4.main函數隻能編寫在main包中

5.每一條語句後面可以不用編寫分号(推薦)

6.如果沒有編寫分号,一行隻能編寫一條語句

7.函數的左括号必須和函數名在同一行

8.導入包但沒有使用包編譯會報錯

9.定義變量但沒有使用變量編譯也會報錯

10.定義函數但沒有使用函數不會報錯

11.給方法、變量添加說明,盡量使用單行注釋

Go語言項目标準格式

Go語言項目的标準格式

-項目檔案夾(GOPATH對應的檔案夾)

--src檔案夾(用于存儲.go檔案的檔案夾)

---mian檔案夾(存放package main對應檔案的檔案夾)

---other檔案夾(存放package 其他對應檔案的檔案夾)

--bin檔案夾(用于存儲可執行程式的檔案夾)

--pkg檔案夾(用于存放二進制檔案的檔案夾)

Go語言關鍵字

Go語言關鍵字就是被Go語言賦予特殊含義的單詞

Go語言中關鍵字都是小寫,在開發工具中有特殊的顔色

Go語言和C語言關鍵字都不能用于變量和函數的名稱

Go語言辨別符

辨別符規則

C語言中辨別符隻能由數字/字母/下劃線組成,并且不能以數字開頭

Go語言中辨別符隻能由數字/字母/下劃線組成,并且不能以數字開頭

注意點: Go語言支援UTF-8,是以可以使用中文作為辨別符(十分不推薦)

辨別符命名規範

駝峰原則