博客
关于我
【GO 开发系列 -- 基础】Go 基础简介
阅读量:362 次
发布时间:2019-03-04

本文共 4468 字,大约阅读时间需要 14 分钟。

?GO ???? -- ???Go ????

?1?Golang ????

?1.1?GO ?????

Go???Golang??Google??????????????????????????????????????C??????Python?????????????????????

?1.2?GO ?????

Go???????????????????????????????????????????

  • ????????????????????????????????????????????????
  • ??????????????????????????????????????????
  • ?C??????????C?????????????????????????
  • ????????????????????????
  • ??????????????
  • ???????????????goroutine???????????????????????
  • ????????????????goroute????
  • ??????????

?2?Golang ????????

?2.1???

Golang???????

package mainimport "fmt"func main() {    // Golang????????    // golang??? num ? Num??????    var num int = 10    var Num int = 20    // ??: num=10 Num=20    fmt.Printf("num=%v Num=%v\n", num, Num)        // ?????????    // var ab c int = 30 // ??    // _ ??????????    // var _ int = 40 // ??    var int int = 90    // ??: 90    fmt.Println(int)}

?2.2????

Golang??????????

package mainimport "fmt"func main() {    // ?golang??++ ? -- ??????    var i int = 8    // var a int    // a = i++ // ???i++??????    // a = i-- // ??, i--??????    // ????    if i++ > 0 {        fmt.Println("ok")    }    i++    // ++i // ????golang?? ?++    fmt.Println("i=", i)    i--    // --i // ????golang?? ?--    fmt.Println("i=", i)}

?2.3?????????

Golang??break??

package mainimport "fmt"import "math/rand"import "time"func main() {    // ???????    rand.Seed(time.Now().UnixNano())    var count int = 0    for {        n := rand.Intn(100) + 1        fmt.Println("n=", n)        count++        if n == 99 {            break        }    }    fmt.Printf("?? 99 ????? %d ?\n", count)        // ??goto???    var n int = 30    fmt.Println("GOTO1")    if n > 20 {        goto label1    }    fmt.Println("GOTO2")    fmt.Println("GOTO3")    fmt.Println("GOTO4")label1:    fmt.Println("GOTO5")    fmt.Println("GOTO6")    fmt.Println("GOTO7")}

?2.4?????????

Golang??continue??

package mainimport "fmt"func main() {    var n int = 30    fmt.Println("RETURN1")    if n > 20 {        return    }    fmt.Println("RETURN2")    fmt.Println("RETURN3")    fmt.Println("RETURN4")    fmt.Println("RETURN5")    fmt.Println("RETURN6")    fmt.Println("RETURN7")}

?2.5?????????

Golang??for??

package mainimport "fmt"func main() {    // ?????    for i := 1; i <= 10; i++ {        fmt.Println("??????", i)    }        // ?????    j := 1    for j <= 10 {        fmt.Println("??????~", j)        j++    }        // ?????    var str string = "hello,world!??"    // ????    for i := 0; i < len(str); i++ {        fmt.Printf("%c \n", str[i])    }        // ??? []rune    str2 := []rune(str)    for i := 0; i < len(str2); i++ {        fmt.Printf("%c \n", str2[i])    }        // ?????    for index, val := range str {        fmt.Printf("index=%d, val=%c \n", index, val)    }}

?2.6?????????

Golang??goto / return??

package mainimport "fmt"func main() {    var n int = 30    fmt.Println("GOTO1")    if n > 20 {        goto label1    }    fmt.Println("GOTO2")    fmt.Println("GOTO3")    fmt.Println("GOTO4")label1:    fmt.Println("GOTO5")    fmt.Println("GOTO6")    fmt.Println("GOTO7")}func main() {    fmt.Println("RETURN1")    if n > 20 {        return    }    fmt.Println("RETURN2")    fmt.Println("RETURN3")    fmt.Println("RETURN4")    fmt.Println("RETURN5")    fmt.Println("RETURN6")    fmt.Println("RETURN7")}

?2.7?????????

Golang??switch??

package mainimport "fmt"func main() {    var n1 int32 = 51    var n2 int32 = 20    switch n1 {        case n2, 10, 5:            fmt.Println("ok1")        case 90:            fmt.Println("ok2~")    }        var age int = 10    switch {        case age == 10:            fmt.Println("age == 10")        case age == 20:            fmt.Println("age == 20")        default:            fmt.Println("?????")    }        var score int = 90    switch {        case score > 90:            fmt.Println("????..")        case score >= 70 && score <= 90:            fmt.Println("????...")        case score >= 60 && score < 70:            fmt.Println("????...")        default:            fmt.Println("???")    }}

?2.8?????????

Golang??while??

package mainimport "fmt"func main() {    // ??while????10? "hello,world"    var i int = 1    for {        if i > 10 {            break        }        fmt.Println("hello,world", i)        i++    }    fmt.Println("i=", i)        // ??do...while??????10??hello,ok?    var j int = 1    for {        fmt.Println("hello,ok", j)        j++        if j > 10 {            break        }    }}

????

???????????????????????????????????????????????

转载地址:http://ismr.baihongyu.com/

你可能感兴趣的文章
PbootCMS entrance.php SQL注入漏洞复现
查看>>
PbootCMS 前台RCE漏洞复现
查看>>
PBT
查看>>
PB级分析型数据库ClickHouse的应用场景和特性
查看>>
pc3-12800
查看>>
PCA---主成成分分析
查看>>
PCA和自动编码器:每个人都能理解的算法
查看>>
pca算法
查看>>
PCA降维demo
查看>>
SharePoint 2013 图文开发系列之定义站点模板
查看>>
PCB生产流程详解-ChatGPT4o作答
查看>>
PCB设计十条黄金法则
查看>>
SpringSecurity框架介绍
查看>>
PCI Express学习篇:Power Management(二)
查看>>
pcie握手机制_【博文连载】PCIe扫盲——Ack/Nak 机制详解(一)
查看>>
pcm转wav的方法及代码示例
查看>>
PC史上最悲剧的16次失败
查看>>
PC端恶意代码分析Lab1.1-5.1,从零基础到精通,收藏这篇就够了!
查看>>
PC端稳定性测试探索
查看>>
PC端编辑 但能在PC端模拟移动端预览的富文本编辑器
查看>>