• Go基础知识


    编程基础
    • Go程序是通过package来组织的(与Python类似)
    • 只有package名称为main的包可以包含main函数
    • 一个可执行程序有且仅有一个main包

    一般结构basic_structure.go

    1. 通过import关键字来导入其它非main包
    2. 通过const关键字来进行常量的定义
    3. 通过在函数外部使用var关键字来进行全局变量的声明与赋值
    4. 通过type关键字来进行结构(struct)或接口(interface)的声明
    5. 通过func关键字来进行函数的声明

    示例代码

    //当前程序的包名
    package main
    //导入其它的包
    import "fmt"
    //常量的定义
    const PI  = 3.14
    //全局变量的声明和赋值
    var name = "gohelper"
    //一般类型的声明
    type newType int
    //结构的声明
    type gopher struct {
    }
    //接口的声明
    type golang interface {
    }
    //由main函数作为程序入口点启动
    func main()  {
    	fmt.Println("你好!!")
    }
    

    导入包名

    image

    • 导入包之后,就可以使用格式.来对包中的函数进行调用
    • 如果导入的包未调用其中的函数或者类型,将会报出编译错误

    package别名和省略调用

    import (
    	std "fmt"
    )
    #使用别名调用包
    func main() {
        std.Println("Hello")
    }
    #省略调用
    import (
    	. "fmt"
    )
    
    func main() {
    	.Println("hello world!!")
    }
    #不建议使用,容易混淆,而且不可以和别名同时使用
    

    Go的可见性规则

    • Go 语言中,使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包调用
    • 根据约定,函数名首字母小写即为private,函数名首字母大写即为public。

    简写的使用

    • 在导入多个包时候可以进行简写,那么声明多个常量、全局变量、或一般类型(非接口,非结构)是否也可以用通信的方法呢?答案当然是可以的!

    image

  • 相关阅读:
    SQL TO XML
    C#中ArrayList 与 string、string[]数组 的转换
    C# 文件下载四方法
    Ilist<>与List<>的区别
    lamda表达式
    遍历实例对象的所有属性
    Readonly 与Const
    使用eclipse上传项目到开源中国代码托管Git@osc教程
    junit4中Assert断言的使用以及Mockito框架mock模拟对象的简单使用
    【每天一题ACM】 斐波那契数列(Fibonacci sequence)的实现
  • 原文地址:https://www.cnblogs.com/skymyyang/p/7574110.html
Copyright © 2020-2023  润新知