goto語句的用法非常靈活,你可以用它實現很多功能,但是由於goto語句的跳轉影響程序的結構,在使用的時候會使人迷茫,所以一般"教材"上都不建議使用,但是用它可以實現遞歸,循環,選擇功能,使用起來也很方便,存在即有價值,大家在使用上做適當取舍就好,覺得需要用就用,不必因拘泥而刻意不去用.
goto 的意思是跳轉到的意思,那么跳轉到哪里呢,當然是跳轉到另一個語句,如何標示這個要跳轉到的語句,答案是在該語句前加上標簽
1 int i = 0; 2 goto cc; 3 i = 9; 4 cc: Console.WriteLine(i);
這就是四句代碼,標簽的使用方式cc: Console.Write(i);即為標簽名,再加上冒號":",標簽名大家可以隨意取,比如aa,bb,反正隨大家喜歡.這四句代碼的意思是,第一句:定義變量i,第二句:跳轉到標簽為cc的語句,接下來就輸出i的結果,可以看出,第三句是無意義的,因為沒有被執行,跳過去了,所以輸出的值是0,而不是9.
goto跳轉的語句,並不是一定要跳轉到之后的語句,也就是說,goto還可以跳到前面去執行
我們再來看代碼
1 int i = 0; 2 cc: Console.WriteLine(i); 3 if (i < 9) 4 { 5 i++; 6 goto cc; 7 }
非常簡單,只要在跳轉語句加上跳轉條件,也就是i<9就好了
goto語句只允許在一個語句塊內跳出,或者在一個語句塊內的一個地方跳到另一個地方;不允許從一個語句塊外面跳入一個語句塊的內部