Golang學習日記一

2021-09-24 23:06:41 字數 1893 閱讀 8092

命令

檢視go版本 go version

檢視go環境 go env

執行 go run ****.go

編譯 go build ***.go

開發工具 liteide

資料go中文社群 :

go程式設計學習

入口

go有且只有乙個入口

func main()
注意這裡對大括號有要求格式,必須得與函式名同行,不能寫成下面的格式

func main()

匯入

//匯入乙個

import "fmt"

//匯入多個

import (

"fmt"

"time"

)

go語言以包作為管理單位,每個檔案必須先宣告包,程式必須的有乙個main包

package main

go語言 語句結尾不用分號

資料型別

//告訴編譯器這個值應該以多大記憶體儲存

基礎型別

bool

byte (unit8)

rune 字元型別(可放中文字元,與byte大小不同,且編碼不同,unicode)

int (大小4或8)

int8,int16 , int32,int64 (大小分別1 , 2,4 , 8)

float32 ,float 64

complex64 複數型別

complex128 複數型別

uintptr 整型

string

常用型別是bool,byte,int,float32,float64,string

float64儲存小數比float32更準確

命名規範:

不能以數字開頭

不能為關鍵字

區分大小寫

變數宣告

package main

import (

"fmt"

)func main()

//if條件處宣告的變數在if外不可使用

num2 := 10

if num2 == 10 else if num2 == 20 else

/**--------switch-----**/

//golang預設不用寫break,寫上也沒問題

//也支援乙個初始化語句

//switch num2:=1= ;num2{}

//case可以有多個值

switch num2

//也可以沒有條件

switch

/**------迴圈(只有for)-------**/

for i := 1; i <= 5; i++

/**------迭代(range)-------**/

//迭代字串

for i, data := range str

for i := range str

for i, _ := range str

//goto,可以用在任何地方,但不能跨函式使用

goto end

fmt.println("process")

end:

fmt.println("end")

}//**注意匯入的包 必須的使用

//**函式內宣告的變數必須的使用

golang日記 web上傳檔案

步驟如下 1.request獲取檔名與檔案 2.檔名 sha1 新的檔名 sha1的詳細過程 讀取原檔案內容,生成sha1碼 3.建立檔案,複製檔案內容 因為sha1過程,使用了copy,所以下標偏移到檔案尾,所以需要重置 使用sha1的好處在於 名字是唯一的,而且日後有新的內容新增進來,會保證不重...

python 學習日記(一)

這兩天看完了python速成教程,從c 轉到python確實有點不是很適應。主要是兩種語言差別還是挺大的,下面我就先說說,我在轉換過程中出現的一些問題。1 python 的語言風格是指令碼式的,語言側重於解決問題,而不是語言本身,所以可以發現,對於變數 python裡都是物件 的使用上來看,pyth...

Linux C 學習日記 一

這個學期學了tcp ip socket 程式設計。老師順便講了下linux c的相關知識。所以在這把自己學到的東西記下來。下面所說的是關於檔案讀寫的。1 用linux c的標準庫函式實現檔案的複製。先貼上 吧。稍後再做分析。庫函式呼叫 include int main fclose f1 fclos...