博客
关于我
【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/

你可能感兴趣的文章
OSG:从源码看Viewer::run() 一
查看>>
OSI七层模型与TCP/IP四层与五层模型详解
查看>>
OSI七层模型的TCP/IP模型都有哪几层和他们的对应关系?
查看>>
OSM数据如何下载使用(地图数据篇.11)
查看>>
OSPF 四种设备角色:IR、ABR、BR、ASBR
查看>>
OSPF 概念型问题
查看>>
SQL Server 存储过程分页。
查看>>
OSPF不能发现其他区域路由时,该怎么办?
查看>>
OSPF两个版本:OSPFv3与OSPFv2到底有啥区别?
查看>>
SQL Server 存储过程
查看>>
OSPF在大型网络中的应用:高效路由与可扩展性
查看>>
OSPF技术入门(第三十四课)
查看>>
OSPF技术连载10:OSPF 缺省路由
查看>>
OSPF技术连载13:OSPF Hello 间隔和 Dead 间隔
查看>>
OSPF技术连载14:OSPF路由器唯一标识符——Router ID
查看>>
OSPF技术连载15:OSPF 数据包的类型、格式和邻居发现的过程
查看>>
OSPF技术连载16:DR和BDR选举机制,一篇文章搞定!
查看>>
OSPF技术连载17:优化OSPF网络性能利器——被动接口!
查看>>
OSPF技术连载18:OSPF网络类型:非广播、广播、点对多点、点对多点非广播、点对点
查看>>
OSPF技术连载19:深入解析OSPF特殊区域
查看>>