GO ---- 鍑芥暟 鍖?鍒ゆ柇 寰幆

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GO ---- 鍑芥暟 鍖?鍒ゆ柇 寰幆相关的知识,希望对你有一定的参考价值。

鏍囩锛?a href='http://www.mamicode.com/so/1/pac' title='pac'>pac   ref   fun   import   蹇呴』   pre   鎸囧畾   int   

琛ュ厖:go鍙橀噺瀹氫箟鎺ㄨ崘浣跨敤椹煎嘲,鏂囦欢鍚嶅懡鍚嶆帹鑽愪娇鐢ㄤ笅鍒掔嚎

鍑芥暟

瀹氫箟鍑芥暟鍩烘湰鏍煎紡:

// func鍏抽敭瀛?+ 鍑芥暟鍚?+ (鍙傛暟1,鍙傛暟2,鍙傛暟3) + {鍑芥暟浣撳唴瀹箎
package main
import "fmt"

// 杩欎釜浣嶇疆涓嶈兘鍐欓€昏緫浠g爜,鍙兘鍙橀噺鍜屽父閲忕殑瀹氫箟

func main(){
    // 璋冪敤鍑芥暟
    myFunc()
}

// 鑷畾涔夊嚱鏁?myFunc
func myFunc(){
    fmt.Priltln("鍑芥暟浣撴墽琛屽唴瀹?quot;)
}

func test() { fmt.Println("鎴戞槸鍑芥暟test") }

2 甯﹀弬鏁扮殑鍑芥暟

// 鍙傛暟鍙互鎸囧畾绫诲瀷
func test(a int,b int)  {
	fmt.Println(a+b)
}
// 甯﹀弬鏁扮殑鍑芥暟,涓や釜鍙傛暟绫诲瀷鐩稿悓锛屽彲浠ョ渷鐣?func test(a ,b int,c string)  {   
	fmt.Println(a+b)  //a,b鏄痠nt锛?c鏄痵tring
}

// 鍦ㄥ弬鏁板悗鍔犵被鍨嬪嵆鍙?func test(a ,b int) int { return a+b }
// 澶氳繑鍥炲€硷紙python涓彲浠?杩斿洖鐨勬槸鍏冪锛?鎴戜滑杩欓噷杩斿洖涓や釜int绫诲瀷
func test(a ,b int) (int,int) {
	return a+b,b*a  
}

// 鍙彉闀匡紝鎺ユ敹浠绘剰闀垮害鐨勫弬鏁? (鍙傛暟1 + ... + 绫诲瀷) func test(a ...int){ fmt.Println(a) } // go涓彧鏈変綅缃弬鏁帮紝娌℃湁鍏抽敭瀛楀弬鏁颁竴璇?娌℃湁榛樿鍙傛暟

5 鍖垮悕鍑芥暟

鍖垮悕鍑芥暟:锛堟病鏈夊悕瀛楃殑鍑芥暟锛?涓€瀹氳瀹氫箟鍦ㄥ嚱鏁板唴閮?/p>

func test()  {
	//鍖垮悕鍑芥暟鐩存帴鍔犳嫭鍙?	func (){
		fmt.Println("鎴戞槸鍖垮悕鍑芥暟")
	}() // 娉ㄦ剰杩欓噷鍔犱簡鎷彿鎵ц浜?}
func test()  {
	//璧嬪€肩粰涓€涓彉閲?	var a func()
    
    a =func (){
		fmt.Println("鎴戞槸鍖垮悕鍑芥暟")
	}
	a() // 鎵ц
    
    //a鏄釜浠€涔堢被鍨?    fmt.Printf("%T",a) // func()
}

6 鍑芥暟杩欎釜绫诲瀷,瀹冪殑鍙傛暟锛岃繑鍥炲€硷紝閮芥槸绫诲瀷鐨勪竴閮ㄥ垎

var a func()
var b func(a,b int)
var c func(a,b int)int
var d func(a,b int)(int,string)

// 浠ヤ笂鐨勭被鍨嬮兘涓嶇浉鍚?

7 闂寘

瀹氫箟: 瀹氫箟鍦ㄥ嚱鏁板唴閮?, 瀵瑰閮ㄤ綔鐢ㄥ煙鏈夊紩鐢?/p>

# python浠g爜
def index():
    def func():
       	print("hello")
    return func
a = index()
a()
// go浠g爜闂寘
func test() func() {
	// 鍙橀噺鎺ユ敹鍑芥暟
	a := func() {
		fmt.Println("鎴戞槸鍐呭眰鍑芥暟")
	}
	// 杩斿洖a 浣嗘槸杩斿洖鍊奸渶瑕佸畾涔夌被鍨?鎴戜滑鍙互鎵撳嵃涓媋鐨勭被鍨?	fmt.Printf("%T",a) // 鎴戜滑鍙戠幇a鐨勭被鍨嬫槸func()
	// 閭d箞鎴戜滑灏辫繑鍥炵被鍨嬩负func()
	return a
}
// 濡傛灉鍐呭眰鍑芥暟鏈夊弬鏁?func test2() func(x,y int) string {
	//鍙槸涓€涓唴灞傚嚱鏁?	a:= func(x,y int) string {
		fmt.Printf("鎴戞槸鍐呭眰鍑芥暟")
		return "鎴戞槸鍐呭眰鍑芥暟鐨勮繑鍥炲€?quot;
	}
	return a
}
// 杩欓噷鐨勮繑鍥炲€?浠栨€庝箞瀹氫箟鐨勫氨闇€瑕佹€庝箞杩斿洖 鍖呮嫭鏀惧洖鍊?func(x,y int) string
//闂寘鍑芥暟锛岄棴鍖呭嚱鏁帮紝灏辨槸澶氫簡涓€绉嶅嚱鏁颁紶鍙傜殑鏂瑰紡

8 缁欏嚱鏁扮被鍨嬮噸鍛藉悕

// 鍥犱负姣忎竴娆℃斁鍥為兘鐗瑰埆澶氱壒鍒夯鐑︽墍浠ュ彲浠ョ粰鍑芥暟鐨勭被鍨嬮噸鍛藉悕
type Myfunc  func (z int) int
//缁?鍑芥暟绫诲瀷 閲嶅懡鍚?type Myfunc  func(z int)int

func test(x,y int) Myfunc {
	//鍙槸涓€涓唴灞傚嚱鏁?	a:= func(z int)int {
		fmt.Println(x+y+z)
		return x+y+z
	}
	return a
}

//杩斿洖鍊奸粯璁ゅ€?func test()(a int,b string) { // a鍜宐涓嶉渶瑕佸畾涔夛紝鐩存帴浣跨敤 // return鐨勬椂鍊欙紝涓嶉渶瑕佹寚瀹氫簡 a=0 b="ok" return } func test() { //杩欐牱鍐欙紝鏈夋病鏈夎繑鍥炲€? return fmt.Printf("xxx") }

10 琛ュ厖

鍖垮悕绌烘帴鍙o紙鐩墠涓嶇敤鐪嬶級

 //琛ュ厖Println鍑芥暟鍙互浼犱换鎰忕殑鏁版嵁绫诲瀷
 fmt.Println(1,"lqz",3.45)
 //interface{} 搴旇鏄墍鏈夌被鍨嬬殑榧荤锛宨nt锛宻tring锛宖loat32閮藉睘浜巌nterface{}绫诲瀷
 //鎺ュ彛锛屽尶鍚嶇┖鎺ュ彛

package main import "s12_day02/mypacakge" //瀵煎寘鐨勬椂鍊欙紝鏄粠gopath鐨剆rc璺緞涓嬪紑濮嬪 import "fmt" //鍚屼竴涓枃浠跺す涓嬪彧鑳芥湁涓€涓寘锛屼篃灏辨槸package 鍚庨潰 鐨勫悕瀛楅兘瑕佷竴鑷?榛樿灏辫窡鏂囦欢澶瑰悕瀛椾竴鏍峰嵆鍙?//鍚屼竴涓寘涓嬫湁涓や釜鍚嶅瓧鐩稿悓鐨勫嚱鏁版槸涓嶈鐨?//浣跨敤鍖咃紝闇€瑕佸鍏? func main() { mypackage.MyPackageTest() //浠ュぇ鍐欏瓧姣嶅紑澶磋〃绀哄鍑猴紙澶栭儴鍖呭彲浠ヤ娇鐢級锛屽皬鍐欏瓧姣嶅紑澶达紝澶栭儴鍖呬笉鑳戒娇鐢紝鍙兘鍐嶅寘鍐呴儴閫傚簲 mypackage.test() fmt.Println("xxx") }

鎬荤粨锛?/p>

1 鏂板缓涓€涓枃浠跺す锛堝寘锛夛紝鍖呬笅鏂板缓浠绘剰澶氫釜go鏂囦欢锛屼絾鏄寘鍚嶉兘蹇呴』涓€鑷达紙寤鸿灏辩敤鏂囦欢澶瑰悕锛?/p>

2 鍦ㄥ寘鍐呭畾涔夌殑鍑芥暟锛屽ぇ鍐欏瓧姣嶅紑澶达紝琛ㄧず澶栭儴鍖呭彲浠ヤ娇鐢紝灏忓啓瀛楁瘝寮€澶达紝琛ㄧず鍙兘鍐嶅唴閮ㄤ娇鐢?鐩存帴浣跨敤鍗冲彲

3 鍦ㄥ叾浠栧寘涓娇鐢紝瑕佸厛瀵煎叆锛坓oland鏈夎嚜鍔ㄦ彁绀猴級

-import "s12_day02/mypacakge"
-鍖呭悕.鍑芥暟锛堬級

4 鍏湁鍜岀鏈?灏辨槸澶у皬鍐欏尯鍒嗙殑

5 鎵€鏈夌殑鍖呭繀椤诲湪gopath鐨剆rc璺緞涓嬶紝鍚﹀垯鎵句笉鍒?/p>

if-else璇彞

package main
import "fmt"
func main() {
	//1 璇硶
	if 鏉′欢 {
		//绗﹀悎涓婇潰鏉′欢鐨勬墽琛?	}
	else if 鏉′欢{
		//绗﹀悎涓婇潰鏉′欢鐨勬墽琛?	}else {
		// 涓嶇鍚堜笂闈㈢殑鏉′欢鎵ц杩欎釜
	}

}

package main
import "fmt"
func main() {

	var a =10
	if a<9{
		fmt.Println("灏忎簬9")
	}else if a==10{
		fmt.Println("10")
	}else {
		fmt.Println("閮戒笉绗﹀悎")
	}
}
package main
import "fmt"
func main() {
	//浣滅敤鍩熻寖鍥翠笉涓€鏍?	if a:=10;a<9{
		fmt.Println("灏忎簬9")
	}else if a==10{
		fmt.Println("10")
	}else {
		fmt.Println("閮戒笉绗﹀悎")
	}
}

寰幆

package main
//寰幆锛歡o涓紝娌℃湁while寰幆锛屽彧鏈変竴涓猣or寰幆锛宖or鍙互鏇夸唬鎺墂hile
func main() {
	//1 璇硶,涓夐儴鍒嗛兘鍙互鐪佺暐
	/*
	for鍏抽敭瀛?鍒濆鍖?鏉′欢;鑷鑷噺{
		寰幆浣撶殑鍐呭
	}
	 */
}
// 绀轰緥 浠? 鎵撳嵃鍒?
	for i:=0;i<10;i++{
		fmt.Println(i)
	}

break continue:浠讳綍璇█閮戒竴鏍?

以上是关于GO ---- 鍑芥暟 鍖?鍒ゆ柇 寰幆的主要内容,如果未能解决你的问题,请参考以下文章

Sql Server杩炶〃鏌ヨ瀛楁涓簄ull

寰幆璇彞

36涓伐浣滀腑甯哥敤鐨凧avaScript鍑芥暟鐗囨

part4-2 娴佺▼鎺у埗浜岋紙寰幆缁撴瀯锛寃hile銆乫or寰幆锛屽垪琛ㄦ帹瀵煎紡銆佺敓鎴愬櫒鎺ㄥ寮忥紝甯哥敤宸ュ叿鍑芥暟锛屾帶鍒跺惊鐜粨鏋勶紝4涓畝鍗曞疄渚嬶級

PHP 鍒ゆ柇鏁版嵁绫诲瀷

jQuery 鍒ゆ柇鍔ㄧ敾杈圭晫