91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GO編程基礎

發布時間:2020-06-10 22:14:57 來源:網絡 閱讀:218 作者:類似簡單 欄目:編程語言
什么是Go?
Go是一門并發支持、垃圾回收的編譯型系統編程語言,旨在創造一門具有在靜態編譯語言的高性能和動態語言的高效開發之間擁有良好平衡點的一門編程語言。

Go的主要特點:

類型安全和內存安全
以非常直觀和極低代價的方案實現高并發
高效的垃圾回收機制
快速編譯(同時解決C語言中頭文件太多的問題)
為多核計算機×××能提升中的方案
UTF-8編碼支持

-----

Go存在的價值是什么?

[GO 在谷歌:以軟件工程為目的的語言設計請添加鏈接描述](https://www.oschina.net/translate/go-at-google-language-design-in-the-service-of-software-engineering)

-----

Go命令

在命令行或終端輸入go 即可查看所有支持的命令

Go常用命令簡介

go env  獲取Go環境變量

PS C:\Users\scott> go env
set GOARCH=amd64              #系統類型
set GOBIN=C:\Users\scott\go\bin                                                   # 編譯后生成的bin目錄
set GOCACHE=C:\Users\scott\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\scott\go                                                 #Go 開發目錄
set GOPROXY=
set GORACE=
set GOROOT=D:\Applications\Go                                              #Go安裝目錄
set GOTMPDIR=
set GOTOOLDIR=D:\Applications\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:
\Users\scott\AppData\Local\Temp\go-build389094662=/tmp/go-build -gno-record-gcc-switches

go get :獲取遠程包(需要提前安裝git或hg)
go run: 直接運行程序
go build:測試編譯, 檢查是否有編譯錯誤
go fmt:  格式化源碼
go install :編譯包文件并編譯整個程序
go test:運行測試文件
go doc: 查看文檔

-----
第一個程序:
package main

import "fmt"

func main(){
    fmt.Println("Hello world! 你好,世界!")
}

GO編程基礎


-----

Go導入package格式

import "fmt"
import "os"
import "time"
import "io"

或

import (
    "fmt"
    "os"
    "time"
    "io"
)

同理

//常量定義
const(
    PI = 3.14
    const1 = "STRING"
    const2 = 2
    const3 = 3
)
//全局變量
var(
    name = "gopher"
    name1 = "1"
    name2 = 2
    name3 = 3
)

//一般類型聲明
type(
    newType int
    type1   float32
    type2   string
    type3   byte
)

導入包的別名

import   bieming "fmt"

import   . "fmt"       (前面有一點,代指省略,有這功能,但不建議省用法)

只能導入使用到的包,未使用到的需要用雙斜線   // 內容   或  //*-----內容-------*//注釋

可見性規則

Go語言中,使用大小寫來決定該常量、變量、類型、接口、結構、或函數是否可以被外部包所調用:

根據約定,
函數名首字母小寫,即為private  私有   外部無法調用
函數名首字母大寫,即為public   公有   外部可以調用

Go基本類型

- 布爾型:bool
    - 長度:1字節
    - 取值范圍: true,false
    - 注意事項:不可以用數字代表true或false

- 整型:int/uint
    -根據運行平臺可能為32或64位

- 8位整型: int8/uint8
    -長度:1字節
    -取值范圍:-128~127/0~255

- 字節型:byte(uint8別名)

- 16位整型:int16/uint16
    - 長度:2字節
    - 取值范圍:-32768~32767/0~65535
- 32位整型:int32(rune)/uint32
    - 長度:4字節
    - 取值范圍:(-2147483648 到 2147483647)

- 64位整型:int64/uint64
    - 長度:8字節
    - 取值范圍:(-9223372036854775808 到 9223372036854775807)

- 浮點型:float32/float64
    - 長度:4/8字節
    - 小數位:精確到7/15位小數位

類型名稱    有無符號    bit數
int8    Yes      8
uint8   No       8
uint16  No       16
int16   Yes      16
int32   Yes      32
int64   Yes      64
uint32  No       32
uint64  No       64
int     Yes     等于cpu位數
uint    No      等于cpu位數
rune    Yes     與 int32 等價
byte    No      與 uint8 等價
uintptr No      -

- 復數類型:complex64/complex128
    - 長度:8/16字節

- 足夠保存指針的32位或64位整型:uintptr

- 其他類型:
    - array、struct、 string
- 引用類型:
    - slice、map、chan

- 接口類型:interface
- 函數類型:func

類型零值:

    零值不等于空值,而是當變量被聲明為某種類型后的默認值,通常情況下值類型默認值為0,bool為false,string為空字符串

變量聲明與賦值:

全局變量使用var聲明

局部變量(函數體)可以使用下面方式:

   var a int = 1
     var a,b,c,d = 1, 2, 3, 4
     a,b,c,d := 1, 2, 3, 4
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青田县| 福建省| 日土县| 宿州市| 长宁区| 永康市| 陆良县| 两当县| 台南市| 墨竹工卡县| 六枝特区| 汝州市| 日喀则市| 滁州市| 罗田县| 西安市| 高雄市| 手游| 正镶白旗| 虞城县| 偃师市| 裕民县| 新乐市| 伊吾县| 格尔木市| 花莲市| 宽甸| 大同县| 策勒县| 噶尔县| 江陵县| 信丰县| 珠海市| 太保市| 延川县| 武平县| 五峰| 峨眉山市| 化州市| 满洲里市| 湖州市|