func 函式名(形參列表)(返回值型別列表)
打包(宣告包)語法
引入包
包的使用細節
為了其他包中的檔案,可以訪問到該包中的函式(或者變數),函式名(變數名)的首字母需要大寫。在訪問其他包函式時,語法是:包名.函式名(變數名)
如果包名較長,golang支援給包取別名,取別名後,原來包名就不能使用。
在同乙個包下,不能有相同的函式名(全域性變數名)
要編譯成乙個可執行檔案,需要將這個包宣告為main,即package.main。這個是乙個語法規範,如果是乙個庫,包名可以自定義。
package utils
func
cal(n1 float64
, n2 float64
, oper byte
)float64
}// -------分割線------
package main
import
("fmt"
"go_code/project01/exercise12/utils"
)func
main()
函式形參列表和返回值列表都可以是多個
形參型別和返回值列表型別可以是值型別或者引用型別
函式名遵守識別符號命名規則。函式名大寫公用,小寫私有
函式中的變數是區域性的
基本資料型別和陣列都是值傳遞,即值拷貝。在函式內修改,不會影響到原來的值
如果希望函式內的變數能夠希望函式外的變數,可以傳入變數的&,函式內以指標的形式操作變數
go函式不支援函式過載(函式名相同,形參個數和型別不同),golang中以其他方式實現,可變引數和空介面
函式也是一種資料型別,可以賦值給乙個變數,該變數就是乙個函式型別的變數了。通過該變數就可以對函式呼叫
函式是一種資料型別,可以作為乙個形參並且呼叫
golang支援自定義資料型別
支援對函式返回值命名
使用_識別符號,忽略返回值
go中支援可變引數
args是slice,通過args[index]可以訪問到各個值
args名稱可以變,通常是使用args
形參列表中有可變引數,則可變引數需要放在最後
// 11.支援對函式返回值命名
fun get
(n1 int
, n2 int
)(sum int
, sub int
)// 13. go支援可變引數
func sum (args...
int)sum int
func sum (n1 int
, args...
int)sum2 int
sum :=
func
(n1 int
, n2 int
)int(10
,20)// ------------------
a :=
func
(n1 int
, n2 int
)int
// 匿名函式賦值給了乙個全域性變數
var(
func1 =
func
(n1 int
, n2 int
)int
)
func
addupper()
func
(int
)int
}
defer 語句
len(str) :內建函式,統計字串長度
rune(str):字串遍歷,同時處理中文問題
strconv.atoi(str) (int, error):字串轉整數
strconv.itoa(int):整數轉字串
byte(str):字串轉byte
string(byte):byte轉字串
strconv.formatint(123,2):十進位制轉其他進製
strings.contains(s, substring)查詢子串是否在指定的字串中
strings.count(s, substring)統計字串中含有的子串數
strings.equalfold(s1,s2)不區分大小寫的字串比較。 == 比較時會區分大小寫
strings.index(s, substring)返回子串第一次出現的index值
strings.lastindex(s, substring)返回子串在字串中最後一次出現的index
strings.replace(s, substr1,substr2, n)將指定的子串替換成另乙個子串。n可以指定希望替換的多少個,n=-1表示全部替換
strings.split(s, 「,」)按照指定的字元分割,返回乙個字串陣列
strings.tolower(s)/strings.toupper(s)字串大小寫轉換
strings.trimspace(s):去除字串左右空格
strings.trim(s, " !"):將左右兩邊的指定字元去掉
strings.trimleft(s, 「!」)將左邊指定字元去掉
strings.hasprefix(s, prefix)判斷字串是否以指定的字串開頭
strings.hassuffix(s, prefix)判斷字串是否以指定的字串結尾
時間常量:time.millisecond…(hour…)查手冊
time.sleep():休眠
unix:時間戳/unixnano:時間戳 獲取隨機數字
獲取當前時間戳:time.now().unix()
make:用來分配記憶體,主要用來分配引用型別
// defer + recover
defer
func()
}()
golang基礎學習 time包常用函式學習
golang基礎學習 time包的學習.package main import time fmt func main 輸出 函式詳解 time.microsecond 從官網的解釋可以看到,microsecond是time包的乙個常量。可以看到 func month string方法中 month是...
Swift基礎(八)函式和閉包
override func viewdidload print arr 執行結果 3,4 3 種閉包簡寫方法 1.省略 引數型別和括號 var arr getlist 1,2,3,4 pre 2.省略 引數型別和括號,return關鍵字 arr getlist 1,2,3,4 pre s in s ...
golang基礎學習 函式
函式 函式是結構化程式設計中最小的模組單元,日常開發過程中,將複雜的演算法過程分解為若干個小任務 塊 使程式的結構性更清晰,程式可讀性提公升,易於後期維護和讓別人讀懂你的 編寫多個函式的主要目的是將乙個需要很多行 的複雜問題分解為一系列簡單的任務 那就是函式 來解決。在實際程式設計中,我們把重複性的...