Go學習隨筆(一)常量/轉義字符/賦值/註釋/枚舉/關鍵字枚舉/變量/局部變量聲明/匿名函數/init函數

1.常量

 使用 const 定義 格式如:

const identifier[type] = value

//例如

const pi float32 = 3.1415926....

const hello = "你好Go!"

const return = ture

const 人數 = 100

2.轉義字符

Go使用反斜槓作爲轉義字符

例如 :換行符(\n), 製表符(\t)等等

3.賦值

func main() {
    a := 2   // :=  是GO的一種簡寫 , 表示函數內部聲明並賦值
    b := 20
    c = a
    fmt.Println(a,b,c)
}

注意:
    d := n++
    if n++ == 1 {}
    ++n 

上門這三個都是錯誤的演示
在Go中 ++和--是語句,不是表達式,沒有運算符優先級之說
還有Go語言不支持重載

4.註釋

就是平常的三種 
1.  //行註釋
2.  /*這也是一個註釋*/
3.  /*
    這是一個Go的註釋
*/

5.枚舉

常量可以作爲枚舉

const(
    con = 0
    opne = 1
    close = 2
)

現在數字0,1,2分別代表控制,打開,關閉

關鍵字實現枚舉

package main 

import("fmt")

const(
    a = iote   //a == 0
    b          //b == 1 ,隱式使用iota關鍵字,實際等同於 b == iota
    c          //c == 2  ,c == iota
    d,e,f = iota, iota,iota  //d=3,e=3,f=3 ,同一行值相同,此處不能只寫一個iota
    g = iota   //g = 4
    h = "h"    //h = "h" ,單獨賦值,iota依舊等於5
    i          //i = "h" ,默認使用上面的賦值,iota依舊遞增爲6
    j = iota   //j = 7  
)

const z = iota  //每個單獨定義的const常良中,iota都會重置,此時z=0

func main(){
    fmt.Println(a,b,c,d,e,f,g,h,i,j)
}

6.變量

聲明變量

var a int  //定義一個變量a爲int型
var b bool //定義一個變量b爲bool型
var a, b int //定義兩個變量爲int型

也可以這樣
var(
    a,b int 
    c bool
    d string    
)

//多個變量同時聲明和賦值
var a, b, c = 1, 2, 3

注意:
下面這種只能在函數體內使用
   x,y = 5,6

6.1 局部變量聲明

變量的聲明有兩種,上面的是一種,另一種是使用:=符號
例如:
a := 1    //等同於 var a = 1

Go語言編譯器能智能判別類型,不用寫a變量的類型也可以的

a := 1     
/* 1. 這種全局變量的聲明是錯誤的*/

var a = 1   
/* 2. 全局變量聲明應該用這種形式*

a := 10
/* 3.前面已經定義了變量a ,同一個代碼塊中不能重複再次定義*/


func main(){
    b:=2 //只能在函數體中使用這種語法

    a:=100 //把100賦給a沒問題

    a:=hello //函數體內部屬於另一個代碼塊,可以再次聲明變量a,改變變量類型
    
    fmt.Println(a,b,c)
    
}

var c = 0 //全局變量不限位置,在函數體外即可

/*
    返回
    100 , 2 ,0
*/

7.匿名函數

func main() {
	x := 4

	fmt.Println("休息休息")
}

注意!!!!
//這段代碼會報錯
局部變量有個特點就是定義了必須使用
如果定義了x並沒有用,編譯會出錯,即使是函數賦值也會出錯

8. init函數


package main

import (
	"fmt"
	"math"
)

var pi float64

func init() {
	pi = 4 * math.Atan(1) //在init函數中計算pi的值
}

func main() {
	Dpi := pi * pi

	fmt.Println(pi, Dpi)
}

返回:3.141592653589793 9.869604401089358

 

發佈了60 篇原創文章 · 獲贊 34 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章