美文网首页
Go语言入门总结(一)- Hello,world

Go语言入门总结(一)- Hello,world

作者: 洋葱er | 来源:发表于2020-09-06 18:41 被阅读0次

    所有的学习都是从基础语法与关键字开始的,接下来一系列文章都是对于学习过程中的总结。
    学习中最好的方法就是学习完以后,自己总结一遍,或者教别人一遍,帮助他人的同时,你自己也会有很多收获。

    开始

    先让我们从hello world开始吧

    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello ,world")
    }
    

    关键字 package ,import,func

    package关键字声明代码所属的包,import关键字用来声明导入的包,func为声明函数。
    本段代码中,所属的包为main,导入的包为fmt,fmt是一个提供格式化输入输出的包,func声明了一个main函数。main这一标识符具有特殊意义,它是一个程序的入口。
    函数必须以 {} 包裹,并且 { 必须放置在函数声明的后面,这是go语言的固定格式,不能换行书写。
    对面fmt包里包含的具体方法,可以去https://studygolang.com/pkgdoc查阅具体的api

    关键字 const,var

    const为常量,var为变量,具体的使用,可以阅读下面的代码

    func main() {
        const a = 16   //声明一个常量
        //a = 32  错误,常量无法再次赋值
        const a1,a2 = 1,2 //对2个常量同时赋值
        //对多个常量赋值的另一种写法
        const (
            age = 32
            height = 173
            weight int = 56
        )
        const name string = "张三" //显示定义常量 类型
        const anotherName,anotherAge = "李四",18 //编译器自动识别值类型
        var b = 32 //声明一个变量
        b = 33 //对变量重新赋值
            c := 36 //另一种赋值方式,等价于 var c = 36,但不能定义在函数体外部
        //其它可以的赋值方式与常量相同
    }
    

    对于变量的增量赋值操作,与java语言中的基本相同。
    例如:

    a += 1   
    a++
    都等价于 
    a = a+ 1
    

    但是go语言中没有前置增量操作,如++a等

    条件语句:if else,switch case default , for break,fallthrough

    学过编程的同学,应该对这些并不陌生,这些都是用来做比较和循环判断的,我也简单的说一下go里面需要注意的地方。

    func main() {
        //最基本的循环,相比java,条件部分不需要使用()包裹起来
        for i := 0; i < 10; i++ {
            fmt.Println(i)
        }
        //只有一个判断参数的循环,go里面也是允许的
        var i = 0
        for i < 10 {
            i++
        }
        //不带参数的循环,相当于while(true),无限循环,可以通过break跳出循环
        //所以go语言里面是没有while关键字的
        var j = 0
        for {
            j++
            if j > 10 {
                break
            }
        }
    
        //if else和普通的使用没有什么区别,但是一定要加上花括号
        if i == 0 {
            fmt.Println("i 等于 0")
        } else {
            fmt.Println("i 不等于 0")
        }
        //if里面可以使用简短声明把函数和判断写在一起,缩减代码量
        //但是声明的变量只在if花括号的生命周期里有用,同理,switch语句里也可以这样写
        if i := rand.Intn(3);i == 2{
            fmt.Println("i 等于 2")
        }
    
        //switch语句,和java语法差不多,但是不需要每一句代码后面跟break
        i = 1
        switch i {
        case 1:
            fmt.Println("i 等于 1")
            //使用该关键字表示如果进入这个case语句,除了执行当前代码以外,
            //还会执行下一个case里面的内容,fallthrough不能放在代码的最后一个case里,编译器会直接报错
            fallthrough
        case 2:
            fmt.Println("i 等于 2")
        default:
            fmt.Println("i 没有可以匹配的值")
        }
    }
    

    相关文章

      网友评论

          本文标题:Go语言入门总结(一)- Hello,world

          本文链接:https://www.haomeiwen.com/subject/mwlcektx.html