zoukankan      html  css  js  c++  java
  • Go语言基础

    一、HelloWorld!

    1、go的注释

    // 这就是go的注释,和js一样
    
    // 单行注释
    /*
    多行注释
    多行注释
    */
    

    2、go的hello world

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

    3、go代码的结构

    package main
    

    每一个 Go 文件都应该在开头进行 package name 的声明(注意:只有可执行程序的包名应当为 main)。

    包(Packages)用于代码的封装与重用,这里的包名称是main

    import "fmt" 
    

    我们引入了 fmt 包,用于在 main 函数里面打印文本到标准输出。

    func main() {}
    

    main 是一个特殊的函数。整个程序就是从 main 函数开始运行的。main 函数必须放置在 main 包中。{} 分别表示 main 函数的开始和结束部分。

    fmt.Println("Hello World")
    

    fmt 包中的 Println 函数用于把文本写入标准输出。

    4、go代码的运行

    有三种方法:

    1 goland上点击右键  Run  就可以执行
    (仅限于goland。 vs code等其他编辑器都没有)
    
    2 先编译,再执行。
    正统的用法(go是编译型语言):用命令
    编译:go build 文件名.go  
    编译,编译成当前平台的可执行文件  s1.exe
    执行:s1.exe
    
    3 编译并执行(在vs code上的命令窗口下执行go文件)
    go run 文件名.go 
    相当于2中的所有步骤一次执行,不产生可执行文件s1.exe
    

    二、变量

    定义变量注意点:

    1. 变量命名推荐用驼峰体。
    2. 变量定义了必须使用,否则报错(只有go要求这样)。
    3. 查看变量类型fmt.Printf("%T",变量)
    4. 变量要先定义再使用。
    5. 变量类型是固定的,不允许中途改变(静态语言)。
    6. 如果只是定义变量,必须指定类型,只能用第一种定义方式。
    7. 变量不允许重复定义。

    1、定义变量的方法

    1.1 全定义

    var(关键字) 变量名 变量类型 = 变量值

    var a int = 10
    fmt.Println(a)  //10
    fmt.Printf("%T",a)  //int
    

    1.2 类型推导

    var(关键字) 变量名 = 变量值

    var a = 10
    fmt.Println(a)  //10
    fmt.Printf("%T",a)  //int
    

    1.3 简略声明

    变量名 := 变量值

    a := 10.5
    fmt.Println(a)  //10.5
    fmt.Printf("%T",a)  //float64
    

    2、声明变量不赋值

    var b int
    b = 10
    fmt.Println(b)  // 0  int默认是0
    

    3、声明多个变量

    // 下面三种都可以
    //var a,b,c int = 123,234,345
    //var a,b,c = 123,234,345
    var a,b,c = 123,234,"字符c"
    
    fmt.Println(a,b,c)  //123 234 字符c
    fmt.Printf("%T,%T,%T",a,b,c)  //int,int,string
    

    4、变量不能重复定义

    var a int
    //var a = 90  // 重复定义×
    //a := 80  // 重复定义×
    a = 70 
    fmt.Println(a)
    
    //特殊情况
    var a int
    //var a, b = 10, 20  //不可以
    a,b := 10,20  //可以
    fmt.Println(a,b)
    

    三、变量类型

    Go 支持的基本类型:数字,字符串,布尔

    1、bool(布尔类型)

    true,false(都是小写)。

    bool类型默认值为false。

    //var a bool = true
    var a = false
    fmt.Println(a)
    

    2、数字类型

    2.1 有符号整型

    int8, int16, int32, int64, int

    rune:特指int32

    int类型默认值为0。

    -int8:表示能存储的长度 8个比特位,8个小格,一个格只能放0和1,能表示的范围是:正的2的七次方-1到,负的2的7次方-1
    
    -int16,32...类推
    
    -int:在32位机器上,表示int32,在64位机器上表示int64
    
    -python中int类型,远远比go的int64大,大很多,因为python中一切皆对象,int对象包含方法数据,所以大。
    

    2.2 无符号整型(正整数)

    uint8, uint16, uint32, uint64, uint

    byte:特指uint8

    -uint8:范围:正2的8次方减一,有个0
    

    2.3 浮点数(小数)

    float32, float64

    2.4 复数

    高等数学用得到,实部和虚部。

    complex64, complex128

    3、字符串

    字符串用双引号表示。反引号可以表示多行的字符串。

    单引号和三引号不行。

    单引号会将内部字符转成ascii码输出。

    字符串类型默认值为""(空)

    var name = "donner"
    fmt.Println(name)  //donner
    
    a := 'a'
    fmt.Println(a)  //97
    fmt.Printf("%T",a)  //int32
    

    4、interface

    interface{}是所有类型的鼻祖。所有类型都属于interface{} 类型。

    它属于接口,匿名空接口

    四、常量

    必须用const关键字定义常量。

    常量不能用:=赋值。

    不能用

    const name  = "trump"
    //name = "asd" 
    fmt.Println(name)
    
    // 同时定义多个常量
    const name,age  = "donner",18
    fmt.Println(name,age)
    
  • 相关阅读:
    基于php5.5使用PHPMailer-5.2发送邮件
    centos安装memcached和PHP php-pecl-memcached.x86_64
    修改覆盖springboot默认日志策略logback
    Springboot打包支持第三方jar
    Intellij IDEA 快速添加maven依赖
    Mybatis Generator生成Example类方法解释
    MyBatis generator生成的Example文件用法
    Intellij IDEA 中怎么把这个黄色的填充色取消?
    MyBatis自动生成工具去掉注释的配置
    去掉Mybatis Generator生成的example
  • 原文地址:https://www.cnblogs.com/bowendown/p/12595071.html
Copyright © 2011-2022 走看看