golang第一天

环境搭建

  1. win10环境,.msi软件一直下一步,安装结束,path环境变量自动配置
  2. 测试环境是否搭建成功,使用go version命令
1.png

测试代码

  • hello.go, 包含go的基本语法和类型
package  main   //主包

import (
    "fmt"   //打印模块
    "math"  //数据运算模块
)

/**
 * 常量的声明
 * 只能为:布尔型、数字型(整数型、浮点型和复数)和字符串型
 */
const (
    MY_NAME = "JACK"
    MY_AGE int = 19
    MY_FLAG bool = true
)

/**
 * 程序入口 main函数和main包
 */
func main()  {
    /**
     * 声明一个字符串类型变量
     */
    var message string = "hello,go!"
    fmt.Println(message)

    /**
     * 声明变量的两种方式
     */
    var age int =10
    name := "jack"

    /**
     * 占位符格式
     */
    fmt.Printf("%d\n", age)
    fmt.Printf("%s\n", name)

    /**
     * if-else
     */
    if age>10 { //if-else
        fmt.Println("old")
    } else {
        fmt.Println("young")
    }

    /**
     * for循环, while, do-while不存在(for写出)
     * break,continue类似其他语言
     */
    for idx:=0; idx<100; idx++ {    //循环语句,
        fmt.Println("idx=", idx)
    }

    for age<20 {    //while
        fmt.Println("age=", age)
        age++
    }

    num1, num2 := 10, 20
    num1, num2 = swap(num1, num2)
    fmt.Println(num1, num2)

    /**
     * 2-100内的质数
     */
    for idx:=2; idx<=100; idx++ {
        if is_prime(idx) {
            fmt.Printf("%d是质数\n", idx)
        }
    }


    /**
     * switch-case
     */
    var myAge int = 50
    switch myAge {
    case 50, 60:
        fmt.Println("a")
        fallthrough         //强制执行下一条case
    case 40:
        fmt.Println("b")
    case 30:
        fmt.Println("c")
    }
    //output: a
    //fallthrough存在,output: a b

}

/**
 * 判断是否为质数
 * 返回为bool, 布尔类型
 */
func is_prime(num int) bool {
    for idx:=2;idx<=int(math.Sqrt(float64(num))); idx++ {   //暂时这样写
        if num%idx==0 {
            return false
        }
    }
    return true
}

/*
 * 返回多个值
 */
func swap(num1 int, num2 int) (int, int)  {
    return num2, num1
}

//go run hello.go编译且运行程序
//go build hello.go生成hello.exe的可执行文件
//output: hello,go!

  • 打卡时间22:52

你可能感兴趣的:(golang第一天)