go语言环境搭建
1、windows環(huán)境搭建
1、安裝go
2、安裝goland開發(fā)工具包
2、test.go
/* 可執(zhí)行文件,包名必須是main */ package main /* fmt 字符串格式化的包 */ import "fmt"/*main入口函數(shù)*/ func main() { fmt.Printf("Hello, world" )} View Code3、go函數(shù)定義
//go函數(shù)定義 func add(a int ,b int) int { var sum int //var表示變量,sum變量名稱,int表示變量類型 sum = a+b return sum } View Code4、go語言特性
1、垃圾回收
a、內(nèi)存自動回收,再也不需要開發(fā)人員管理內(nèi)存
b、開發(fā)人員專注業(yè)務(wù)實現(xiàn),降低了心智負(fù)擔(dān)
c、只需要new分配內(nèi)存,不需要釋放
2、天然并發(fā)
a、從語言層面支持并發(fā),非常揀單
b、goroute,輕量級線程、創(chuàng)建成千上萬個goroute成為可能
c、基于CSP(Communicating Sequential Process)模型實現(xiàn)
案例:(使用關(guān)鍵字go)
func test_print(a int) {fmt.Println(a)}for i:=0;i<100;i++{go test_print(i)} 3、channel
a、管道,類似nuix/linux中的pipe
b、多個goroute之間通過channel進(jìn)行通信
c、支持任何類型
4、多返回值
a、一個函數(shù)返回多個值
5、包的概念(go語言不需要擔(dān)心編碼問題,都默認(rèn)為utf8)
1、和python一樣,把相同的功能代碼放在一個目錄,稱之為包
2、包可以被其他包引用
3、main包是用來生成執(zhí)行文件,每個程序只有一個main包
4、包的主要用途是提高代碼的可復(fù)用性
6、變量定義兩種方式
方式1:
var sum int //var表示變量,sum變量名稱,int表示變量類型
sum = 0
方式二:
sum:=0
7、函數(shù)多返回值? ?(注意占位符"_"使用)
func calc(a int ,b int ) (int ,int) {c:=a+bd:=(a+b)/2return c,d }func main1() {sum ,avg:=calc(200,300)fmt.Println("sum=",sum,",","avg=",avg)a ,_:=calc(200,300) //_表示不取返回值fmt.Println("sum=",a,) }?
FAQ:
問題1:
# command-line-arguments src\lesson-one\test.go:36: undefined: test_goroute一個文件調(diào)用另一個文件的函數(shù),必須兩個文件都被編譯為二進(jìn)制文件,才能執(zhí)行,否則報錯 為了解決這種問題,可以執(zhí)行整個包?
轉(zhuǎn)載于:https://www.cnblogs.com/ywjfx/p/10366558.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
- 上一篇: [BZOJ]3173: [Tjoi201
- 下一篇: passwd命令