關於Golang中 函式 的初步認識和理解 二

2021-10-07 06:30:39 字數 2011 閱讀 5111

壓文詩—月夜憶舍弟:露從今夜白,月是故鄉明

前言:大半夜了,明天入職,挺長時間沒上班了,不過我還是想把函式的零散的知識點整理一下,不然上班了,估計時間就不是特別充裕了.

golang語言中不支援傳統意義上的過載,會報』函式名』 redeclared in this package(函式在此包中重新宣告)

package main

import

("2020-05-31-day01/06func/util"

"fmt"

)func

main()

func

currentfunc

(i int

)func

currentfunc

(i int

, k int

)

在golang中,函式也是一種資料型別,可以賦值給乙個變數,則該變數就是乙個函式型別的變數了,通過該變數可以對函式呼叫

package main

import

("fmt"

)func

main()

func

currentfunc()

string

函式既然是一種資料型別,因此在go中,函式可以作為形參,並且呼叫

package main

import

"fmt"

func

main()

func

currentfunc

(n1 int

,n2 int

)int

func

myfun

(funvar func

(int

,int

)int

, num1 int

,num2 int

)int

為了簡化資料型別定義,go支援自定義資料型別(我其實也不知道這個寫在函式中合不合理)

基本語法:

type 自定義資料型別名 資料型別

案例:type myint int

type name string

var na name

na =

"梅子"

fmt.

println

(na)

注釋:

1.我在這裡是把name定義為乙個string

雖然name和string都是string型別,但是go會認為name和string是兩個型別

init函式

每乙個原始檔都可以包含乙個init函式,該函式會在main函式執行之前,被go執行框架呼叫,也就是說init會在main函式前呼叫

package main

import

"fmt"

func

init()

func

main()

輸出結果為:

d:\goproject\src\2020-05

-31-day01\06func\main>main.exe

這是main包中的init函式,我想讓這行輸出在main函式輸出前輸出

這裡是main包中的main函式

init函式使用細節以及注意事項:

1.如果乙個檔案同時包含全域性變數定義,init函式和main函式,則執行的流程全域性變數--

>init函式--

>main函式

2.init函式最主要的作用,就是完成一些初始化的作用

初步了解mysql MySQL的 庫 表初步認識

一 安裝 完全解除安裝 1 引導式安裝 初始化 mysqld initialize insecure 安裝 mysqld install 啟動服務 net start mysql 停止服務 net stop mysql 3 完全解除安裝 控制面板解除安裝 刪除目錄 刪除登錄檔中的mysql內容 看c...

關於Golang中 包 的初步認識和理解 二

go的每乙個檔案都是屬於乙個包的,那也就是說go是依靠包的形式來管理檔案和專案目錄結構的package 包的名稱 package utils import goprojects utils utils.代表的是函式名 import util goprojects utils 1.在同乙個包下,不能有...

關於golang中的切片詳解

之前對切片的理解是本身是乙個指標,指標指向陣列,因為陣列是值賦值,所以陣列作為函式引數傳遞時,會被複製乙份,傳遞較大陣列時會比較浪費記憶體。之前的理解部分對,但是瑕疵和錯誤的地方太多。切片本身是乙個結構體,它是被golang封裝過的結構體,所以使用起來和陣列差不多,其結構體內容如下 type sli...