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)
//}
函数
原文地址:https://www.cnblogs.com/yangjiaoshou/p/12012864.html