• go语言:开发环境搭建、变量定义、变量类型、常量、函数基础、函数是一等公民


    一、开发环境的搭建

    1、go环境下载地址:https://golang.google.cn/dl/

    2、GoLand集成开发环境下载:

    IDE 下载地址:http://www.jetbrains.com/go/?fromMenu

    二、简单应用:

    在命令行执行文件:

    go   build可以进行生成一个.exe的可执行文件

    go   run 编译并执行,不会生成可执行文件

    //单行注释
    /*
    多行注释
    多行注释
    */
    package main //表示当前go文件属于main包
    import "fmt" //导入fmt包
    
    // 编译型语言需要有一个入口文件  main包下的main函数
    func main() { //定义了一个main函数
    
        fmt.Println("hello world") //打印helloworld
        //a 是编辑器给你提示的,参数名是a

    变量定义和使用:

    注意点:

    变量定义了就必须使用

    变量不能重复定义

    //变量
    package main //表示是main包的
    import "fmt"
    
    func main() {
        //定义变量
        //方式一:全名称  go语言中。变量定义了必须使用,否则报错
        //var关键字 变量名  变量类型 =//var a int=10   //定义了一个int类型的a ,把10赋值给他
        //fmt.Println(a)
        //类型推导
        //var a =10
        //fmt.Println(a)
        //简略声明
        //a:=10
        //fmt.Println(a)
        //变量不能重复定义
        //var a int=10
        //var a =10
        ////a:=10
        //fmt.Println(a)
        //强类型语言,类型是固定的
        //var a =10
        //a=100
        //b:="lqz"
        //a=b
        //fmt.Println(a)
        //fmt.Println(b)
        //定义不赋初值  :int 类型默认值是0  string 类型默认值是空字符串
        //var a int
        //a=10
        //var b string
    
        //b="lqz"
        //fmt.Println(b)
        //同时定义多个变量
        //var a =10
        //var b=100
        //var a,b int
        //var a,b int=10,20
        //var a,b=10,20
        //var a,b=10,"lqz"
        //a,b:=10,20
        //a,b:=10,"lqz"
        //fmt.Println(a)
        //fmt.Println(b)
        var (
            name   = "naveen"
            age    = 29
            height int
        )
        fmt.Println(name)
        fmt.Println(age)
        fmt.Println(height)
    
    }
    变量

    变量的类型:

    字符串的声明必须是双引号

    //变量类型
    package main
    
    func main() {
        //bool类型 0值是false
        //var b bool =true
        //var b =true
        //b:=true
        //var b bool
        //fmt.Println(b)
        //数字类型
        /*
        int类型:表示整数,int8   int16  int32  int64
        计算机最小计量单位:bit位  int8 是 8个比特位=1个字节,表示的范围是:正负2的7次方减1
        在32位机器上int 就是int32 ,在64位机器上int就是int64
        uint类型:表示正整数 uint8 uint16...
        float类型:表示小数只有float32和float64
        complex64类型:复数
        byte: uint8的别名
        rune:int32的别名
         */
        //var a int=-10
        //fmt.Println(a)
        //var a int =100000
        //fmt.Println(a)
        //var a uint8=100
        //fmt.Println(a)
        //var a float32=2.33
        //fmt.Println(a)
        //字符串(必须用双引号),反引号是python中的三引号
        //b:='a'
        //fmt.Printf("%T",b)
        //var a string="lqz"
    //    var c string=`阿斯蒂芬a
    //手动阀afd阿斯蒂芬
    //安抚
    //asfd阿萨德f`
    //var a string="阿发" +
    //    "按时发大水f" +
    //    "agessdfas" +
    //    "按时发大水发d"
    //fmt.Println(a)
    //
    }
    变量的类型

    常量的声明:

    //常量:恒定不变的量
    package main
    
    import "fmt"
    
    func main() {
        //var a int=10
        //定义了一个常量a
        //const a int=10
        const a =10
        //a=100
        fmt.Println(a)
        const b ="192.168.1.1"
    
    }

    函数的基本使用以及函数是一等公民:

    //函数
    package main
    
    //func main() {
        //test()
        //test(1,2)
        //var a int=test(1,2)
        //var a =test(1,2)
        //var a string
        //a =test(1,2)
        //fmt.Println(a)
        //var a int
        //var b string
        //a,b:=test(1,2)
        //不要第二个返回值
        //a,_:=test(1,2)
        //fmt.Println(a)
        //fmt.Printf(_)
        //a:=test()
        //fmt.Printf(a)
        //test(a=10,b=21)
        //fmt.Println(1,"lqz")
        //test(1,"lqz")
    
    //}
    
    //函数定义,语法
    //func关键字 函数名(参数1 类型,参数2 类型) (返回值类型){}
    //无参数,无返回值
    //func test()  {
    //    fmt.Println("xxx")
    //
    //}
    //有两个int类型的参数
    //func test(a int,b int)  {
    //func test(a ,b int)  {
    //func test(a ,b int,c string)  {
    //    fmt.Println(a+b)
    //}
    
    //有一个数字类型返回值,一定要指定返回值类型
    //func test(a,b int) int {
    //    return a+b
    //}
    //func test(a,b int) string {
    //    return "lqz"
    //}
    
    //返回多个值
    //func test(a,b int) (int,string)  {
    //    return a+b,"成功"
    //}
    
    //命名返回值
    //func test(a,b int) (c int, d string)  {
    //    c=10
    //    d="成功"
    //    return
    //}
    
    //在go中没有位置参数和关键字参数,都是位置参数,也没有默认参数
    //func test(a,b int) int {
    //    return a+b
    //}
    
    //不定长参数
    //func test(a ...interface{})  {
    //    fmt.Println(a)
    //
    //}
    
    //闭包函数
    //定义在函数内部,对外部作用域有引用
    //go语言中,函数是一等公民,可以把函数赋值给一个变量,函数就是一等公民
    
    
    
    //func test(a int) (int,int) {
    //    fmt.Println("xxx")
    //    return 1,2
    //
    //}
    //
    //func main() {
    //    var a func(a int)(int,int)
    //    //var a =test
    //    a=test
    //    a(1)
    //}
    函数
  • 相关阅读:
    Cmake Make makefile GNU autotools
    第三方库的安装:Pangolin
    ./configure, make, sudo make install 的含义
    [Eigen]C++开源线代库
    术语解释
    KDevelop使用笔记【中文教程】
    Python-Day1
    找不到或无法加载主类
    仅仅测试Word2016发布博客
    First Day!
  • 原文地址:https://www.cnblogs.com/yangjiaoshou/p/12012864.html
Copyright © 2020-2023  润新知