GO言語のキーワード:
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
、もしそうでなければ、休憩、継続のために
for i := 0; i < 10; i++ {
if i == 2 {
continue
}
if i == 3 {
break
}
}
他のフロー制御は、循環のために、現在のサイクルから抜け出す場合、このサイクルを続けます
swich、場合、デフォルト
n := 2
switch n {
case 1:
fmt.Println("n = 1")
case 2:
fmt.Println("n = 2")
default:
fmt.Println(" n不等于1 也不等于2 ")
}
フロー制御を行う場合には、デフォルトを行っていません
FUNC
func method(){
fmt.Println("我是一个无参无返回值的函数")
}
定義関数
インターフェース
type person interface{
work()
}
定義されたインタフェース
延期
defer fmt.Println("我后执行")
fmt.Println("我先执行")
あなたが出た後、より高度なを持っている場合はリリースのためのリソースは、ステートメントの最終的な実装延期追加します
ました
var a int
var b int = 3
定数を定義します。
CONST
const a int= 1
const b = "我是一个常量"
const(
i = iota + 1
ii
iii
)
列挙定数は定義されました
後藤
for i := 0; i < 10; i++ {
if i == 2 {
goto xx
}
}
xx:
fmt.Println("跳转到这里")
プロセス制御が推奨されていないラベルラベルにジャンプ
地図
//定义一个hash 未初始化
var hash1 map[string]int
//使用make 来初始化内存
var hash2 = make(map[string]int, 5)
関連するハッシュ(辞書)データ型を定義します
種類、構造体
type person struct {
name string
age int
}
type person interface{
engagement()
}
型定義型、構造体の構造体の定義は、JAVA POJOに似ています
ちゃん
//为 nil 未初始化
var ch1 chan string
//定义一个容量为0的管道
var ch2 = make(chan string)
//定义一个容量为10的管道
var ch2 = make(chan string,10)
言語を行くコンジット特長は、FIFOキューのメッセージとして理解することができます。
パッケージのインポート
package main
import "fmt"
定義された包装袋のパッケージ組み込まインポート
フォールスルー
n := 2
switch n {
case 1:
fmt.Println("n = 1")
case 2:
fmt.Println("n = 2")
fallthrough
default:
fmt.Println(" n不等于1 也不等于2 ")
}
その後、出力の「n = 2」「N 1と等しくない場合は、2」フォールスルーキーワードはケースの確立後、次のステートメントが適用されます等しくありません
範囲
//定义一个map
var hash = make(map[int]int,10)
//填充数据
for i:=0 ;i < 10;i++{
hash[i+i] = i
}
//range 遍历
for k,v := range hash{
fmt.Println(k,v)
}
マップタイプを循環するために使用される場合、配列は、「値」と「インデックス」が得られた場合、直接「キー」と「値」を得ることができます
リターン
func method(x, y int) (z int) {
z = x + y
return
}
これは、関数から返すために使用しました
選択する
select {
//如果 从chan中取到数据 则 :
case <- chan:
return 1
}
select {
//如果 向chan录入数据 则 :
case chan <- 1:
return 2
}
関連導管(チャネル)の動作を選択し、監視するために使用され、それは入力と出力導管を検出し続けます