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

你可能感兴趣的文章
Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
查看>>
Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
查看>>
Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
查看>>
Openlayers高级交互(18/20):根据feature,将图形适配到最可视化窗口
查看>>
Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
查看>>
Openlayers高级交互(2/20):清除所有图层的有效方法
查看>>
Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
查看>>
Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
查看>>
Openlayers高级交互(4/20):手绘多边形,导出KML文件,可以自定义name和style
查看>>
Openlayers高级交互(5/20):右键点击,获取该点下多个图层的feature信息
查看>>
Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
查看>>
Openlayers高级交互(7/20):点击某点弹出窗口,自动播放视频
查看>>
Openlayers高级交互(8/20):选取feature,平移feature
查看>>
Openlayers高级交互(9/20):编辑图形(放缩、平移、变形、旋转),停止编辑
查看>>
Openlayers:DMS-DD坐标形式互相转换
查看>>
openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
查看>>
OpenLDAP(2.4.3x)服务器搭建及配置说明
查看>>
OpenLDAP编译安装及配置
查看>>
Openmax IL (二)Android多媒体编解码Component
查看>>
OpenMCU(一):STM32F407 FreeRTOS移植
查看>>