golang學(xué)習(xí)筆記

剛接觸到golang,看了很多書,但是感覺不動手,永遠就只是會一個Hello,world。
為了激勵自己,特意創(chuàng)建一個學(xué)習(xí)筆記,希望也有人可以和我一起努力,一起進步。

每個go程序都是由包構(gòu)成的,程序從main包開始運行
注意: 此程序的運行環(huán)境是固定的,因此 rand.Intn 總是會返回相同的數(shù)字。

package main

import (
    "fmt"
    "math/rand"
)

func main() {
    fmt.Println("My favorite number is", rand.Intn(10))
}
//My favorite number is 1

導(dǎo)入

導(dǎo)入包的時候,可以使用圓夸號的方式進行,這是一種分組的方式導(dǎo)入

package main

import (
    "fmt"
    "math"
)

func main() {
    fmt.Printf("Now you have %g problems.\n", math.Sqrt(7))
}
//Now you have 2.6457513110645907 problems.

也可以使用編寫多個導(dǎo)入語句的方式進行,例如

import "fmt"
import "math"

但是使用分組導(dǎo)入的方式效率會更高。

導(dǎo)出名

在Go中,如果一個名字以大寫字母開始,那么它就是已導(dǎo)出的。而你在導(dǎo)入一個包的時候,只可以引用已經(jīng)導(dǎo)出的包。例如,下面的代碼即將報錯。

package main

import (
    "fmt"
    "math"
)

func main() {
    fmt.Println(math.pi)
}
/*
   # command-line-arguments
  ./test.go:9:14: cannot refer to unexported name math.pi
  ./test.go:9:14: undefined: math.pi
 */

如果你將pi改成Pi,則不會報錯

package main

import (
    "fmt"
    "math"
)

func main() {
  fmt.Println(math.Pi)
}
//3.141592653589793

函數(shù)

  1. 函數(shù)可以沒有參數(shù)或者接受多個參數(shù)。
    例如:

    package main
    
    import "fmt"
    
    func add(x int, y int) int {
       return x + y
    }
    
    func main(){
       fmt.Println(add(10,11))
    }
    //21
    

如果在函數(shù)申明的幾個參數(shù),類型相同,則可以省略操作

func add(x, y int) int {
  return x + y
}
  1. 多值返回
    函數(shù)可以返回任意多個值。如下所示:

     package main
    
     import "fmt"
    
     func swap(x, y string)(string, string) {
         return y, x
     }
     func main(){
         a, b := swap("one", "two")
         fmt.Println(a, b)
     }
     //two one
    
  2. 命名返回值
    go的返回值可以被命名
    沒有參數(shù)的return 會返回已經(jīng)命名的返回值

     package main
    
     import "fmt"
    
     func split(sum int) (x, y int) {
         x = sum * 4 / 9
         y = sum - x
         return 
     }
    
     func main() {
         fmt.Println(split(17))
     }
     //7 10
    

變量

使用var聲明,用于聲明一個變量列表,例如

var c, python, java bool

未完待續(xù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容