成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文搞懂Go常用語法

開發 前端
一門語言中的語法都是固定的,基礎語法幾乎都差不多,本篇文章涉及到 Go 入門腳本,變量,條件語句,函數等語法現象,用一篇文章梳理Go語言中可能出現的所有語言現象,便于初學者學習和復習所用。

前言

本文是根據陽哥 知識星球中的資料 整理的學習筆記,第一章關于Go語言中常見的語法現象。

我的思考:

一門語言中的語法都是固定的,基礎語法幾乎都差不多,本篇文章涉及到 Go 入門腳本,變量,條件語句,函數等語法現象,用一篇文章梳理Go語言中可能出現的所有語言現象,便于初學者學習和復習所用。

一. Go 語言的 helloworld

源文件:

文件名:hello.go

package main

import "fmt"

func main() {
fmt.Println("helloworld")

}

對于第一個代碼的解釋:

  • 源文件使用 UTF-8 編碼,對 Unicode 支持良好,每個源文件都屬于包的一部分,在文件頭部用 package 聲明所屬的包名稱。
  • 以.go 作為文件的拓展名
  • 相比其他語言,語句結束的分號會被默認省略
  • import 是用來導入標準庫或者第三方包

其他注意事項:

  • fmt.Println? 這里的 Println 的p 要大寫;
  • 導入的包,如果有多余的可以刪掉

可以直接運行:

go run main.go

圖片

二. 變量

Go 語言中使用 var 定義變量,支持類型推斷

1.定義兩個變量并輸出

package main

import "fmt"

func main() {
var x int32
var y = "hello,world"
fmt.Println("輸出的結果為", x,y)
}

輸出結果:

PS C:\Go\src\test01> Go run .\variable.Go
輸出的結果為 0 hello,world

注意點:

  • 編譯器會把變量的初始值初始化為零,避免出現意外
  • Printf? 和Pringln 是有區別的,不能通用。

在函數內部,可以省略 var 關鍵字,但要注意賦值符號的變化:由 = 變成了 :=

package main

import "fmt"

func main() {
y := "hello,world"
fmt.Println("輸出的結果為",y)
}

三. 表達式

Go 語言有三種流程控制語句

3.1 if 語句

package main

func main () {
var x = 100
if x >0 {
println("x =",x)
}else if x < 0 {
println("x =",-x)
}else{
println("x =",0)
}
}

3.2 switch 語句

package main

func main () {
x :=100
switch {
case x>0:
println("x")
case x<0:
println("-x")
//case x!=0:
// println("0")
case x == 0:
println("0")
default:
println("0")
}
}

這里需要注意一點:

  • x=0?表示賦值,x==0 表示 ```等于``.

所以在這個 case 語句中, case x=0:? 會報錯,但可以改為!= 不等于 0

執行結果:

圖片

3.3 for 語句

for 循環的用法比較多,我們來舉幾個例子:

案例一:
package main

func main () {
//打印0 1 2 3 4
for i:=0 ;i<5;i++{
println(i)
}

//打印 4 3 2 1 0
for i :=4;i>=0 ;i--{
println(i)
}
}

下面的 for 循環,類似于 while 循環的例子,比如while(x <5 {})

案例二:
package main

func main () {
x :=0
//打印0 1 2 3 4
for x<5{
println(x)
x++
}
}

案例三:打印從 10 到 0 的值

package main

func main () {
x :=10
for {
println(x)
x--
if x < 0{
break
}
}
}

圖片

案例四:

有時候也會對列表進行遍歷,列表定義:x:= []int{100,101,102}

package main

func main () {

x :=[]int{100,101,102}
for i,n :=range x {
println(i,n)
}
}

在 Go 語言中,遍歷數據或切片時可以用 range,range 會產生兩個值,分別是數據的索引與值,就像案例四中,i和v分別表示索引和值:

索引為 0 的時候值是 100

運行結果:

圖片

四. 函數

函數可以定義多個返回值,甚至對其命名

package main

import (
"errors"
"fmt"
)

func div(a,b int) (int,error) {
if b == 0 {
return 0,errors.New("division by zero")

}
return a/b,nil
}

func main(){
a,b := 9,2 //定義多個變量
c,err := div(a,b) //接收多個值
fmt.Println(c,err)
fmt.Println(a,b)
}

這里遇到一個小插曲,如下圖:

圖片

發現代碼會提示 b 沒有定義,在a/b位置有下劃線,但執行結果是對的。經過反復排查和溝通,最后發現是 SDK 沒有配置

沐風曉月感謝星球群里各位幫助過我的小伙伴。

五. 數據

5.1 切片

切片可以實現類似動態數組的功能:

package main

import(
"fmt"
)

func main() {
x := make([]int ,0,5) //創建容量為5的切片
for i :=0;i<10;i++{
x=append(x,i) //追加數據,如果超過容量,自動分配更大空間
}
fmt.Println(x)
}

輸出結果:

[0 1 2 3 4 5 6 7 8 9]

5.2 字典

package main

import "fmt"

func main() {
m:=make(map[string]int) //創建字典類型對象
m["a"] =1
x,ok := m["b"]
fmt.Println(x,ok)
y,ok := m["a"]
fmt.Println(y,ok)

}

運行結果:

圖片

總結

本文后續還會持續增加一些語法現象,歡迎大家收藏備用。

本文轉載自微信公眾號「 程序員升級打怪之旅」,作者「王中陽Go」,可以通過以下二維碼關注。

轉載本文請聯系「 程序員升級打怪之旅」公眾號。

責任編輯:武曉燕 來源: 程序員升職加薪之旅
相關推薦

2009-12-09 09:22:45

PHP常用語法

2009-11-25 13:31:34

PHP常用語法

2024-04-12 12:19:08

語言模型AI

2022-03-24 08:51:48

Redis互聯網NoSQL

2011-03-21 15:47:57

LAMPMySQL語法

2021-03-22 10:05:59

netstat命令Linux

2023-09-08 08:20:46

ThreadLoca多線程工具

2023-09-15 12:00:01

API應用程序接口

2023-11-25 09:41:34

GogRPCHandler

2023-09-02 21:27:09

2021-03-04 00:09:31

MySQL體系架構

2023-05-22 13:27:17

2021-02-28 20:53:37

Cookie存儲瀏覽器

2023-03-06 21:29:41

mmap技術操作系統

2020-12-07 06:19:50

監控前端用戶

2020-09-03 06:35:44

Linux權限文件

2021-07-08 10:08:03

DvaJS前端Dva

2022-07-15 08:16:56

Stream函數式編程

2024-07-12 14:46:20

2022-08-15 15:39:23

JavaScript面向對象數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕1区 | 亚洲国产成人久久综合一区,久久久国产99 | 国产一区三区在线 | 欧美一区成人 | 久久大| 伊人精品在线 | 天堂久久久久久久 | 亚洲国产中文字幕 | 亚洲一区影院 | 国产免费一区二区三区 | 二区成人 | 麻豆视频国产在线观看 | av二区三区| 一级片在线观看 | 日日夜夜91 | 久久久久国产精品一区二区 | 亚洲精品久久久蜜桃 | 久久久久久久久淑女av国产精品 | 欧美午夜在线 | 日本福利在线观看 | 久热免费在线 | 天天亚洲 | 久久久久久久久久久成人 | av香港经典三级级 在线 | 国产精品成av人在线视午夜片 | 久久久免费少妇高潮毛片 | 一级毛片大全免费播放 | 国产成人在线视频 | 亚洲午夜视频 | 三级在线免费观看 | 久久精品免费观看 | 午夜性色a√在线视频观看9 | 国产美女在线观看 | 91传媒在线播放 | 日韩在线视频一区 | 精品久久久久一区二区国产 | 日韩精品一区二区三区 | 性一区 | 少妇性l交大片免费一 | 中文字幕国产精品 | 国产精产国品一二三产区视频 |