国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

go語(yǔ)言入門詳細(xì)教程

這篇具有很好參考價(jià)值的文章主要介紹了go語(yǔ)言入門詳細(xì)教程。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

二.基礎(chǔ)語(yǔ)法

1.Hello World

`package main` 

`import "fmt"http://導(dǎo)入一個(gè)fmt用來(lái)輸出的`

`func main() {`
    `fmt.Println("Hello, 世界")//打印輸出 hello world字符串!`
`}`

Go 是一門編譯型語(yǔ)言,Go 語(yǔ)言的工具鏈將源代碼及其依賴轉(zhuǎn)換成計(jì)算機(jī)的機(jī)器指令(譯注:靜態(tài)編譯)。Go 語(yǔ)言提供的工具都通過(guò)一個(gè)單獨(dú)的命令 go 調(diào)用,go 命令有一系列子命令。最簡(jiǎn)單的一個(gè)子命令就是 run。這個(gè)命令編譯一個(gè)或多個(gè)以。.go 結(jié)尾的源文件,鏈接庫(kù)文件,并運(yùn)行最終生成的可執(zhí)行文件。(本書使用$表示命令行提示符。)

$ go run helloworld.go

輸出

Hello, 世界

2.命名

2.1命名

Go語(yǔ)言中的函數(shù)名、變量名、常量名、類型名、語(yǔ)句標(biāo)號(hào)和包名等所有的命名,都遵循一個(gè)簡(jiǎn)單的命名規(guī)則:一個(gè)名字必須以一個(gè)字母(Unicode字母)或下劃線開(kāi)頭,后面可以跟任意數(shù)量的字母、數(shù)字或下劃線。大寫字母和小寫字母是不同的:heapSort和Heapsort是兩個(gè)不同的名字。

Go語(yǔ)言中類似if和switch的關(guān)鍵字有25個(gè);關(guān)鍵字不能用于自定義名字,只能在特定語(yǔ)法結(jié)構(gòu)中使用。

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

此外,還有大約30多個(gè)預(yù)定義的名字,比如int和true等,主要對(duì)應(yīng)內(nèi)建的常量、類型和函數(shù)。

內(nèi)建常量: true false iota nil

內(nèi)建類型: int int8 int16 int32 int64
          uint uint8 uint16 uint32 uint64 uintptr
          float32 float64 complex128 complex64
          bool byte rune string error

內(nèi)建函數(shù): make len cap new append copy close delete
          complex real imag
          panic recover
2.2聲明

聲明語(yǔ)句定義了程序的各種實(shí)體對(duì)象以及部分或全部的屬性。Go語(yǔ)言主要有四種類型的聲明語(yǔ)句:var、const、type和func,分別對(duì)應(yīng)變量、常量、類型和函數(shù)實(shí)體對(duì)象的聲明。

一個(gè)Go語(yǔ)言編寫的程序?qū)?yīng)一個(gè)或多個(gè)以.go為文件后綴名的源文件。每個(gè)源文件中以包的聲明語(yǔ)句開(kāi)始,說(shuō)明該源文件是屬于哪個(gè)包。包聲明語(yǔ)句之后是import語(yǔ)句導(dǎo)入依賴的其它包,然后是包一級(jí)的類型、變量、常量、函數(shù)的聲明語(yǔ)句,包一級(jí)的各種類型的聲明語(yǔ)句的順序無(wú)關(guān)緊要(譯注:函數(shù)內(nèi)部的名字則必須先聲明之后才能使用)

3.變量

3.1變量的聲明

? var聲明語(yǔ)句可以創(chuàng)建一個(gè)特定類型的變量,然后給變量附加一個(gè)名字,并且設(shè)置變量的初始值。變量聲明的一般語(yǔ)法如下:

var 變量名字 類型 = 表達(dá)式

其中“類型”或“= 表達(dá)式”兩個(gè)部分可以省略其中的一個(gè)。如果省略的是類型信息,那么將根據(jù)初始化表達(dá)式來(lái)推導(dǎo)變量的類型信息。如果初始化表達(dá)式被省略,那么將用零值初始化該變量。 數(shù)值類型變量對(duì)應(yīng)的零值是0,布爾類型變量對(duì)應(yīng)的零值是false,字符串類型對(duì)應(yīng)的零值是空字符串,接口或引用類型(包括slice、指針、map、chan和函數(shù))變量對(duì)應(yīng)的零值是nil。數(shù)組或結(jié)構(gòu)體等聚合類型對(duì)應(yīng)的零值是每個(gè)元素或字段都是對(duì)應(yīng)該類型的零值。

Go語(yǔ)言的數(shù)據(jù)類型默認(rèn)零值如下表所示:

數(shù)據(jù)類型 默認(rèn)零值
bool false
int 0
float (0+0i)
string “”
array 數(shù)組元素類型的零值
map nil
struct 結(jié)構(gòu)體中每個(gè)字段的零值
interface nil
function nil

需要注意的是,對(duì)于結(jié)構(gòu)體和數(shù)組類型,默認(rèn)零值是指結(jié)構(gòu)體中每個(gè)字段或數(shù)組中每個(gè)元素的零值。而對(duì)于map類型,默認(rèn)零值是nil,表示空映射。另外,所有類型的默認(rèn)值均為其零值,除了bool類型沒(méi)有默認(rèn)值,注意在go語(yǔ)言中沒(méi)有double類型。

零值初始化機(jī)制可以確保每個(gè)聲明的變量總是有一個(gè)良好定義的值,因此在Go語(yǔ)言中不存在未初始化的變量。這個(gè)特性可以簡(jiǎn)化很多代碼,而且可以在沒(méi)有增加額外工作的前提下確保邊界條件下的合理行為。例如:

var s string
fmt.Println(s) // ""

這段代碼將打印一個(gè)空字符串,而不是導(dǎo)致錯(cuò)誤或產(chǎn)生不可預(yù)知的行為。Go語(yǔ)言程序員應(yīng)該讓一些聚合類型的零值也具有意義,這樣可以保證不管任何類型的變量總是有一個(gè)合理有效的零值狀態(tài)。

也可以在一個(gè)聲明語(yǔ)句中同時(shí)聲明一組變量,或用一組初始化表達(dá)式聲明并初始化一組變量。如果省略每個(gè)變量的類型,將可以聲明多個(gè)類型不同的變量(類型由初始化表達(dá)式推導(dǎo)):

var i, j, k int                 // int, int, int
var b, f, s = true, 2.3, "four" // bool, float64, string

初始化表達(dá)式可以是字面量或任意的表達(dá)式。在包級(jí)別聲明的變量會(huì)在main入口函數(shù)執(zhí)行前完成初始化,局部變量將在聲明語(yǔ)句被執(zhí)行到的時(shí)候完成初始化。

一組變量也可以通過(guò)調(diào)用一個(gè)函數(shù),由函數(shù)返回的多個(gè)返回值初始化:

var f, err = os.Open(name) // os.Open returns a file and an error
package main

import "fmt"

func main() {

	var(
		name string
		age	 int
		addr string
		)
		//string值默認(rèn)為空
		//int  默認(rèn)值:0
		fmt.Println(name,age,addr)
}

? }

通過(guò)以上代碼例子,我們可以看到go語(yǔ)言支持批量定義聲明

3.2簡(jiǎn)短變量聲明

在函數(shù)內(nèi)部,有一種稱為簡(jiǎn)短變量聲明語(yǔ)句的形式可用于聲明和初始化局部變量。它以“名字 := 表達(dá)式”形式聲明變量,變量的類型根據(jù)表達(dá)式來(lái)自動(dòng)推導(dǎo)。下面是lissajous函數(shù)中的三個(gè)簡(jiǎn)短變量聲明語(yǔ)句:

anim := gif.GIF{LoopCount: nframes}
freq := rand.Float64() * 3.0
t := 0.0
package main
import "fmt"
func main(){
	name:="yjh"
	age :=18
    //:= 自動(dòng)推導(dǎo)
    fmt.Println(name,age)
		}

這是Go語(yǔ)言的推導(dǎo)聲明寫法,編譯器會(huì)自動(dòng)根據(jù)右值類型推斷出左值的對(duì)應(yīng)類型。

它可以自動(dòng)的推導(dǎo)出一些類型,但是使用也是有限制的;

  • 定義變量,同時(shí)顯示初始化。
  • 不能提供數(shù)據(jù)類型
  • 只能在函數(shù)內(nèi)部。不能隨便到處定義

因?yàn)楹?jiǎn)潔和靈活的特點(diǎn),簡(jiǎn)短變量聲明被廣泛用于大部分的局部變量的聲明和初始化。var形式的聲明語(yǔ)句往往是用于需要顯式指定變量類型的地方,或者因?yàn)樽兞可院髸?huì)被重新賦值而初始值無(wú)關(guān)緊要的地方。

i := 100                  // an int
var boiling float64 = 100 // a float64
var names []string
var err error
var p Point

和var形式聲明語(yǔ)句一樣,簡(jiǎn)短變量聲明語(yǔ)句也可以用來(lái)聲明和初始化一組變量:

i, j := 0, 1

但是這種同時(shí)聲明多個(gè)變量的方式應(yīng)該限制只在可以提高代碼可讀性的地方使用,比如for語(yǔ)句的循環(huán)的初始化語(yǔ)句部分。

var形式的聲明語(yǔ)句往往是用于需要顯示指定變量類型地方,或者因?yàn)樽兞可院髸?huì)被重新賦值而初始值無(wú)關(guān)緊要的地方。

當(dāng)一個(gè)變量被聲明之后,如果沒(méi)有顯示的給他賦值,系統(tǒng)自動(dòng)賦予它類型的零值:

  • ? 整型和浮點(diǎn)型變量的默認(rèn)值為0和0.0
  • ? 字符串變量的默認(rèn)值為空字符串
  • ? 布爾類型變量默認(rèn)為false
  • ? 切片、函數(shù)、指針變量的默認(rèn)值為null
3.3變量賦值
  1. Go語(yǔ)言中變量的賦值有以下幾種方式:

    • 直接賦值:將一個(gè)值賦給變量,格式為變量名 = 值。示例代碼:

      var a int
      a = 10
      
    • 聲明同時(shí)賦值:可以在變量聲明時(shí)同時(shí)賦值,格式為var 變量名 類型 = 值。示例代碼:

      var b string = "hello"
      

      也可以使用類型推導(dǎo)來(lái)簡(jiǎn)化代碼,格式為變量名 := 值。示例代碼:

      c := 20
      
    • 多重賦值:可以同時(shí)給多個(gè)變量賦值,格式為變量1, 變量2, ... = 值1, 值2, ...。示例代碼:

      var d, e int
      d, e = 30, 40
      
    • 匿名變量賦值:使用_表示匿名變量,該變量不占用命名空間,不會(huì)分配內(nèi)存,也不會(huì)引發(fā)“未使用變量”的錯(cuò)誤。示例代碼:

      _, f := 50, "world"
      

    需要注意的是,賦值操作是從右往左進(jìn)行的,即先計(jì)算等號(hào)右側(cè)的表達(dá)式,然后將其賦值給左側(cè)的變量。如果左右兩側(cè)的類型不匹配,編譯器會(huì)報(bào)錯(cuò)。

3.4匿名變量

在Go語(yǔ)言中,匿名變量是使用_表示的特殊變量,也被稱為“占位符”或“空標(biāo)識(shí)符”。匿名變量可以用在函數(shù)返回值、變量賦值、結(jié)構(gòu)體中的成員賦值等場(chǎng)合。

使用匿名變量時(shí),可以省略變量名,從而避免了對(duì)變量名的定義和使用,減少了代碼量和命名沖突的可能性。同時(shí),由于匿名變量不會(huì)分配內(nèi)存,因此不會(huì)產(chǎn)生內(nèi)存浪費(fèi)的問(wèn)題。

下面是一些匿名變量的使用場(chǎng)景:

  1. 函數(shù)返回值中的匿名變量

如果一個(gè)函數(shù)返回多個(gè)值,但是我們只需要其中的某些值,可以使用匿名變量來(lái)忽略不需要的返回值。示例代碼:

func test() (int, string) {
    return 10, "hello"
}

x, _ := test()

在上面的代碼中,我們只需要函數(shù)test返回的第一個(gè)值,因此用匿名變量_來(lái)忽略第二個(gè)返回值。

  1. 忽略變量賦值中的某些值

有時(shí)候我們?cè)谶M(jìn)行變量賦值時(shí),不需要使用某些返回值。這時(shí)候可以使用匿名變量來(lái)忽略這些值。示例代碼:

var a int
a, _, _ = 1, 2, 3

在上面的代碼中,我們用匿名變量_來(lái)忽略了賦值語(yǔ)句中的第二個(gè)和第三個(gè)值。

  1. 結(jié)構(gòu)體中的匿名字段

在結(jié)構(gòu)體中,如果某個(gè)字段的類型是匿名的,那么該字段可以被稱為匿名字段。可以通過(guò)結(jié)構(gòu)體的匿名字段來(lái)訪問(wèn)該字段所屬的結(jié)構(gòu)體中的其他字段。示例代碼:

type Person struct {
    Name string
    Age int
}

type Student struct {
    Person
    Score float64
}

var s Student
s.Name = "Tom"
s.Age = 18
s.Score = 90.5

在上面的代碼中,結(jié)構(gòu)體Student中有一個(gè)匿名字段Person,可以通過(guò)s.Names.Age來(lái)訪問(wèn)Person結(jié)構(gòu)體中的字段。

需要注意的是,在使用匿名變量時(shí),雖然可以省略變量名,但是需要保留變量類型。否則會(huì)出現(xiàn)編譯錯(cuò)誤。

4.常量

在Go語(yǔ)言中,常量是指在程序運(yùn)行期間不可改變的值。常量可以在編譯期間計(jì)算,可以用于減少代碼中的魔法數(shù)值、提高程序的可讀性和可維護(hù)性。(注:在代碼中,有些數(shù)字可能沒(méi)有直觀的含義,例如3600表示一小時(shí)有多少秒,1024表示2的10次方等等。這些數(shù)字被稱為“魔法數(shù)值”,因?yàn)樗鼈兊囊饬x不明確,需要在代碼中尋找上下文來(lái)理解。)

在Go語(yǔ)言中,常量的定義使用關(guān)鍵字const,常量名一般使用大寫字母,多個(gè)單詞之間使用下劃線分隔。常量的值可以是數(shù)字、字符串、布爾值等。

常量定義的語(yǔ)法如下:

const name = value

下面是一些常量的例子:

const Pi = 3.14159
const Greeting = "Hello, World!"
const MaxInt32 = 1<<31 - 1
const Debug = false

在上面的例子中,我們定義了幾個(gè)常量。Pi常量的值是浮點(diǎn)數(shù)3.14159,Greeting常量的值是字符串"Hello, World!",MaxInt32常量的值是整數(shù)2^31-1,Debug常量的值是布爾值false。

常量還可以使用iota來(lái)進(jìn)行自增,它用于枚舉、位運(yùn)算等場(chǎng)景。iota的初始值為0,每出現(xiàn)一次iota,它的值就自增1。下面是一個(gè)枚舉的例子:

package main

import "fmt"

const (
    Monday = iota
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
)

func main() {
    fmt.Println(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)
}

在上面的例子中,我們使用iota定義了一組枚舉常量。Monday的值是0Tuesday的值是1,以此類推。我們可以在fmt.Println中打印這些常量的值,輸出結(jié)果為0 1 2 3 4 5 6。

總之,Go語(yǔ)言的常量可以提高程序的可讀性和可維護(hù)性,可以減少代碼中的魔法數(shù)值。在定義常量時(shí),需要注意常量的命名規(guī)則和常量值的類型。

5類型

5.1Go語(yǔ)言中的類型

Go語(yǔ)言中的類型分為基本類型和復(fù)合類型兩種。下面分別列舉并說(shuō)明。

基本類型 說(shuō)明
bool 布爾型,值為truefalse
uint8 8位無(wú)符號(hào)整型,取值范圍為0到255
uint16 16位無(wú)符號(hào)整型,取值范圍為0到65535
uint32 32位無(wú)符號(hào)整型,取值范圍為0到4294967295
uint64 64位無(wú)符號(hào)整型,取值范圍為0到18446744073709551615
int8 8位有符號(hào)整型,取值范圍為-128到127
int16 16位有符號(hào)整型,取值范圍為-32768到32767
int32 32位有符號(hào)整型,取值范圍為-2147483648到2147483647
int64 64位有符號(hào)整型,取值范圍為-9223372036854775808到9223372036854775807
float32 32位浮點(diǎn)型,可以表示小數(shù),精度為7位小數(shù)
float64 64位浮點(diǎn)型,可以表示小數(shù),精度為15位小數(shù)
byte 8位無(wú)符號(hào)整型,與uint8相同
rune 32位有符號(hào)整型,表示一個(gè)Unicode碼點(diǎn)
uintptr 無(wú)符號(hào)整型,用于存放一個(gè)指針的地址
復(fù)合類型 說(shuō)明
string 字符串類型,由一串Unicode碼點(diǎn)組成
array 數(shù)組類型,元素類型相同,長(zhǎng)度固定
slice 切片類型,可以動(dòng)態(tài)增長(zhǎng)或縮小長(zhǎng)度
map 映射類型,鍵值對(duì)類型
struct 結(jié)構(gòu)體類型,由若干個(gè)字段組成,每個(gè)字段可以是任意類型
interface 接口類型,可以包含任意類型的值
channel 通道類型,用于在多個(gè)goroutine之間傳遞數(shù)據(jù)

需要注意的是,Go語(yǔ)言還支持類型別名,可以用type關(guān)鍵字為現(xiàn)有的類型定義一個(gè)別名。例如:

type MyInt int // 將int類型定義為MyInt類型的別名

類型別名在代碼維護(hù)和兼容性方面有一定的作用。

總的來(lái)說(shuō),Go語(yǔ)言的類型非常豐富,支持基本類型和復(fù)合類型,可以滿足各種編程需求。同時(shí),Go語(yǔ)言的類型系統(tǒng)非常強(qiáng)

5.2go語(yǔ)言的格式化輸出

Go語(yǔ)言中的格式化輸出是通過(guò)fmt包實(shí)現(xiàn)的,它支持的格式化動(dòng)詞與C語(yǔ)言中的printf函數(shù)類似,但也有一些不同之處。

下面是幾個(gè)常用的格式化動(dòng)詞及其含義:

  • %d:將整數(shù)格式化為十進(jìn)制整數(shù)。
  • %f:將浮點(diǎn)數(shù)格式化為十進(jìn)制浮點(diǎn)數(shù)。
  • %e:將浮點(diǎn)數(shù)格式化為科學(xué)計(jì)數(shù)法表示。
  • %s:將字符串格式化為字符串。
  • %v:將值的默認(rèn)格式表示為字符串。

除了動(dòng)詞之外,還可以使用一些修飾符來(lái)控制輸出格式,如:

  • %5d:將整數(shù)格式化為長(zhǎng)度為5的十進(jìn)制整數(shù)。
  • %6.2f:將浮點(diǎn)數(shù)格式化為長(zhǎng)度為6,保留2位小數(shù)的十進(jìn)制浮點(diǎn)數(shù)。

下面是一些例子,展示了如何使用格式化輸出:

package main

import "fmt"

func main() {
    x := 123
    y := 3.14159
    s := "hello"

    fmt.Printf("x=%d, y=%f, s=%s\n", x, y, s)
    fmt.Printf("x=%5d, y=%6.2f, s=%s\n", x, y, s)
}

輸出:

x=123, y=3.141590, s=hello
x=  123, y=  3.14, s=hello

在上面的例子中,fmt.Printf函數(shù)使用格式化字符串來(lái)格式化輸出。在格式化字符串中,%d表示整數(shù),%f表示浮點(diǎn)數(shù),%s表示字符串。使用%d%f時(shí),需要將要輸出的值作為參數(shù)傳遞給fmt.Printf函數(shù),使用%s時(shí),直接將要輸出的字符串作為參數(shù)傳遞即可。

值得注意的是,使用fmt.Printf函數(shù)時(shí),輸出格式的字符串和參數(shù)列表中的值一一對(duì)應(yīng),如果不匹配會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。此外,fmt.Printf函數(shù)還有其他一些格式化輸出相關(guān)的函數(shù),如fmt.Sprintffmt.Fprintf等,使用方式與fmt.Printf類似。

6 go語(yǔ)言的作用域

Go語(yǔ)言中的作用域是指一個(gè)標(biāo)識(shí)符(變量、常量、函數(shù)等)在程序中可被訪問(wèn)的范圍。標(biāo)識(shí)符的作用域由它在程序中的聲明位置和所在代碼塊(包括函數(shù)、if語(yǔ)句、for循環(huán)等)的限制來(lái)確定。

Go語(yǔ)言中的作用域規(guī)則如下:

  • 如果一個(gè)標(biāo)識(shí)符在函數(shù)內(nèi)聲明,那么它的作用域只限于這個(gè)函數(shù)內(nèi)部。
  • 如果一個(gè)標(biāo)識(shí)符在函數(shù)外聲明,那么它的作用域可以是整個(gè)包內(nèi),也可以是跨包訪問(wèn)的公共標(biāo)識(shí)符。
  • 如果一個(gè)標(biāo)識(shí)符在代碼塊內(nèi)部聲明(如if語(yǔ)句、for循環(huán)等),那么它的作用域只限于這個(gè)代碼塊內(nèi)部。
  • 在同一作用域內(nèi)不能定義重名的標(biāo)識(shí)符。
  • 在嵌套的代碼塊中,內(nèi)部的代碼塊可以訪問(wèn)外部的代碼塊中聲明的標(biāo)識(shí)符,但外部的代碼塊不能訪問(wèn)內(nèi)部的代碼塊中聲明的標(biāo)識(shí)符。

下面是一些例子,展示了不同作用域的標(biāo)識(shí)符的聲明和使用方式:

package main

import "fmt"

var x = 10 // 在包級(jí)別聲明一個(gè)變量x

func foo() {
    var y = 20 // 在函數(shù)內(nèi)部聲明一個(gè)變量y

    if x := 100; x > y { // 在if語(yǔ)句中聲明一個(gè)變量x
        fmt.Println(x) // x的作用域限于if語(yǔ)句塊內(nèi)
    } else {
        fmt.Println(y) // y的作用域限于foo函數(shù)塊內(nèi)
    }

    fmt.Println(x) // x可以在foo函數(shù)中訪問(wèn)
    fmt.Println(y) // y可以在foo函數(shù)中訪問(wèn)
}

func main() {
    foo()
    fmt.Println(x) // x可以在整個(gè)包中訪問(wèn)
}

在上面的例子中,變量x在包級(jí)別聲明,可以在整個(gè)包中訪問(wèn)。變量y在函數(shù)內(nèi)部聲明,只能在函數(shù)內(nèi)部訪問(wèn)。在foo函數(shù)內(nèi)部,if語(yǔ)句中聲明了一個(gè)新的變量x,它的作用域限于if語(yǔ)句塊內(nèi)。在foo函數(shù)內(nèi)部,可以訪問(wèn)變量xy。在main函數(shù)中,可以訪問(wèn)包級(jí)別聲明的變量x。

總之,Go語(yǔ)言的作用域規(guī)則比較簡(jiǎn)單明了,但需要注意標(biāo)識(shí)符的聲明位置和所在代碼塊的限制,以避免出現(xiàn)作用域錯(cuò)誤。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-756705.html

到了這里,關(guān)于go語(yǔ)言入門詳細(xì)教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Go語(yǔ)言 -- Web開(kāi)發(fā)基礎(chǔ)學(xué)習(xí) net/http包

    Go語(yǔ)言 -- Web開(kāi)發(fā)基礎(chǔ)學(xué)習(xí) net/http包

    Go 是一個(gè)開(kāi)源的編程語(yǔ)言,它能讓構(gòu)造簡(jiǎn)單、可靠且高效的軟件變得容易。 Go語(yǔ)言最擅長(zhǎng)的領(lǐng)域就是Web開(kāi)發(fā),此貼是本人入門完go語(yǔ)法基礎(chǔ)后學(xué)習(xí)Web開(kāi)發(fā)的學(xué)習(xí)筆記。 新建go文件hello_world.go 寫入: 在命令行運(yùn)行: go run ./hello_world.go 可以發(fā)現(xiàn)控制臺(tái)輸出以下信息 通過(guò)上述代碼

    2024年02月06日
    瀏覽(22)
  • 【GoLang入門教程】Go語(yǔ)言工程結(jié)構(gòu)詳述

    【GoLang入門教程】Go語(yǔ)言工程結(jié)構(gòu)詳述

    前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站:人工智能 前言 當(dāng)創(chuàng)建一個(gè)Go語(yǔ)言項(xiàng)目時(shí),良好的工程結(jié)構(gòu)是確保項(xiàng)目可維護(hù)性、可擴(kuò)展性和清晰性的關(guān)鍵。 雖然Go本身沒(méi)有強(qiáng)制性的項(xiàng)目結(jié)構(gòu)要求,但是采用一致性

    2024年01月24日
    瀏覽(99)
  • 【Golang入門教程】Go語(yǔ)言變量的初始化

    【Golang入門教程】Go語(yǔ)言變量的初始化

    強(qiáng)烈推薦 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站: 人工智能 推薦一個(gè)個(gè)人工作,日常中比較常用的人工智能工具,無(wú)需魔法,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站: 人工智能工具 引言 在Go語(yǔ)言中,變量

    2024年04月17日
    瀏覽(106)
  • Java轉(zhuǎn)Go:java開(kāi)發(fā)者轉(zhuǎn)學(xué)go語(yǔ)言,請(qǐng)給我一些建議和學(xué)習(xí)推薦

    Java轉(zhuǎn)Go:java開(kāi)發(fā)者轉(zhuǎn)學(xué)go語(yǔ)言,請(qǐng)給我一些建議和學(xué)習(xí)推薦

    在做開(kāi)發(fā)時(shí)遇到最無(wú)理的需求就是部門沒(méi)了?? 遇到最無(wú)理的需求就是部門沒(méi)了??,差點(diǎn)人也在這個(gè)公司沒(méi)了,但好在是跟著大部隊(duì)換了一個(gè)部門,就是要轉(zhuǎn)go,也可能要用js和solidity開(kāi)發(fā) 一開(kāi)始知道部門沒(méi)了,第一時(shí)間一定是會(huì)擔(dān)心,甚至后面知道有的同事要被畢業(yè),有的同

    2024年02月13日
    瀏覽(19)
  • 【Go語(yǔ)言】Golang保姆級(jí)入門教程 Go初學(xué)者chapter3

    【Go語(yǔ)言】Golang保姆級(jí)入門教程 Go初學(xué)者chapter3

    下劃線“_”本身在Go中一個(gè)特殊的標(biāo)識(shí)符,成為空標(biāo)識(shí)符。可以代表任何其他的標(biāo)識(shí)符,但是他對(duì)應(yīng)的值就會(huì)被忽略 僅僅被作為站維度使用, 不能作為標(biāo)識(shí)符使用 因?yàn)镚o語(yǔ)言中沒(méi)有private public 所以標(biāo)記變量首字母大寫代表其他包可以使用 小寫就是不可使用的 注意:Go語(yǔ)言中

    2024年02月13日
    瀏覽(92)
  • 【Go語(yǔ)言】Golang保姆級(jí)入門教程 Go初學(xué)者chapter2

    【Go語(yǔ)言】Golang保姆級(jí)入門教程 Go初學(xué)者chapter2

    setting的首選項(xiàng) 一個(gè)程序就是一個(gè)世界 變量是程序的基本組成單位 變量的使用步驟 [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-zuxG8imp-1691479164956)(https://cdn.staticaly.com/gh/hudiework/img@main/image-20230726152905139.png)] 變量表示內(nèi)存中的一個(gè)存儲(chǔ)區(qū) 注意:

    2024年02月14日
    瀏覽(577)
  • 【GoLang入門教程】Go語(yǔ)言幾種標(biāo)準(zhǔn)庫(kù)介紹(六)

    【GoLang入門教程】Go語(yǔ)言幾種標(biāo)準(zhǔn)庫(kù)介紹(六)

    前言 上一篇,我們介紹了image、IO、math三個(gè)庫(kù),這篇我們繼續(xù)介紹剩下的庫(kù) 幾種庫(kù) Net庫(kù) (網(wǎng)絡(luò)庫(kù),支持 Socket、HTTP、郵件、RPC、SMTP 等) 在 Go 語(yǔ)言的標(biāo)準(zhǔn)庫(kù)中, net 包提供了對(duì)網(wǎng)絡(luò)操作的支持,包括基本的網(wǎng)絡(luò)協(xié)議、Socket 編程、HTTP 客戶端和服務(wù)器等。 net 包包含多個(gè)子包,其

    2024年02月02日
    瀏覽(97)
  • 【GoLang入門教程】Go語(yǔ)言幾種標(biāo)準(zhǔn)庫(kù)介紹(五)

    【GoLang入門教程】Go語(yǔ)言幾種標(biāo)準(zhǔn)庫(kù)介紹(五)

    前言 上一篇,我們介紹了fmt、Go、html 三個(gè)庫(kù),這篇我們繼續(xù)介紹剩下的庫(kù) 幾種庫(kù) image庫(kù) (常見(jiàn)圖形格式的訪問(wèn)及生成) 在 Go 語(yǔ)言的標(biāo)準(zhǔn)庫(kù)中, image 包提供了對(duì)圖像的基本操作和處理功能。 這個(gè)包定義了 Image 接口和一些基本的圖像類型,同時(shí)也包含了一些實(shí)現(xiàn)了該接口的具

    2024年02月03日
    瀏覽(98)
  • 【GoLang入門教程】Go語(yǔ)言幾種標(biāo)準(zhǔn)庫(kù)介紹(四)

    【GoLang入門教程】Go語(yǔ)言幾種標(biāo)準(zhǔn)庫(kù)介紹(四)

    前言 上一篇,我們介紹了debug、encoding、flag三個(gè)庫(kù),這篇我們繼續(xù)介紹剩下的庫(kù) 幾種庫(kù) fmt庫(kù) (格式化操作) 在 Go 語(yǔ)言的標(biāo)準(zhǔn)庫(kù)中, fmt 包提供了格式化輸入輸出的功能。 這個(gè)包包括了一系列函數(shù),用于將數(shù)據(jù)格式化為字符串( fmt.Sprintf )、輸出到控制臺(tái)( fmt.Print 、 fmt.Pri

    2024年02月03日
    瀏覽(98)
  • 【GoLang入門教程】Go語(yǔ)言幾種標(biāo)準(zhǔn)庫(kù)介紹(八)

    【GoLang入門教程】Go語(yǔ)言幾種標(biāo)準(zhǔn)庫(kù)介紹(八)

    強(qiáng)烈推薦 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站:人工智能 前言 上一篇,我們介紹了plugin、reflect、regexp三個(gè)庫(kù),這篇我們繼續(xù)介紹剩下的庫(kù) 幾種庫(kù) runtime庫(kù) ( 運(yùn)行時(shí)接口) 在 Go 語(yǔ)言的標(biāo)準(zhǔn)庫(kù)中, runtime 包

    2024年01月19日
    瀏覽(93)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包