golang的基礎語法和其他語言有共通之處,有其他語言的語法基礎能讓我們更快的熟悉golang。那直接讓我們步入正題吧。
1、注釋
2、定義包名
packagemain//定義乙個名稱為main的包3、匯入依賴庫(系統庫和第三方庫)
import"fmt"
import(
"os"
"strings"
)
4、方法
funcmain()5、方法呼叫
fmt.println("hello world")fmt為golang提供的格式化輸出系統庫,本句實現在命令列輸出hello world。
6、變數、常量、佔位符、運算子、陣列、指標、結構體
varaint=1 //第一種: var variable_name variable_name
value:=1 //第二種: value_name := 1
varb, c, d=1, 2, 3//第三種: 合併宣告
var( //第四種: 合併宣告
value1int =1
value2string="hello world"
)
注意:golang中的變數、方法、結構體等等的名稱都推薦使用駝峰命名法,而名字的首字母如果是小寫字母則表示在包(package)內可見;而如果是大寫字母則表示包外可見。
constvaraint=1
constvar(
bint=1
cstring="hello world"
)
常量同樣有單行宣告和合併宣告,宣告時必須定義,定義後不可修改。
_, a=myfunction()function()方法有兩個返回值,第乙個返回值賦給_ , 第二個返回值賦給a,此時的 _ 就稱做佔位符,可以理解為僅僅為了給第乙個返回值有位置存放即可,這個返回值我再也不會用到;如果這個返回值之後還可能用到,則不能賦給 _ ,否則今後無法再使用。
// 形如 var variable_name [size] variable_type
var stuname [20] string
// 形如 var variable_name *variable_type
var stunameindex *string
// 形如 type variable_type struct
type stuinfo struct
var stuinfoentry stuinfo
stuinfoentry.id = 1
stuinfoentry.name = "alice"
7、條件語句
if condition else
switch condition
8、for 迴圈語句
/*for init; condition; next */
for i:=0; i<20; i++
特殊格式
//無限迴圈
for
for true
//省略init或next
for ; sum<100;
看到這裡,大家應該都覺得似曾相識,好像學過的程式語言都有這些東西。所以大家應該不用花太多時間在基礎語法上,幾分鐘就能看完。結合今天的基礎知識,大家應該可以寫出一些簡單**來驗證今天的基礎語法。 彙編基礎一日一學習1
暫存器是什麼?大致說暫存器是cpu的部件 一般用於資訊儲存 也可以說暫存器是我們可以進行指令讀寫的部件。我們目前80386的cpu的每個暫存器是4個位元組的。也就是32位。也可以說80386cpu有32條位址線 8個通用暫存器eax ebx ecx edx esp ebp esi edi 也就是我們...
彙編基礎一日一學習3
今天我們來學習下eip暫存器。不要小看這個暫存器。它可儲存著我們cpu要讀取指令的位址,沒有了它,cpu就無法讀取下面的指令 通俗點講cpu就無法執行 如果玩過破解,跟蹤過程式的人都應該知道。每次相應彙編指令執行完相應的eip值就會增加。我大致描述一下這個暫存器的情況。因為80386cpu的定址範圍...
彙編基礎一日一學習5
那麼棧到底是什麼呢?棧是一種具有特殊的訪問方式的儲存空間。它的特殊就是在於最後進入這個空間的資料,最先出去。舉個例子,假如這時我們有3個動物。貓咪 猴子 兔子。那麼我們按先後的順序我們先把貓咪放進棧中,然後再把猴子放到棧中,最後把兔子放到棧中。那麼此時,大家可以看到。兔子現在存在棧頂。那麼此時我們取...