环境搭建
- win10环境,.msi软件一直下一步,安装结束,path环境变量自动配置
- 测试环境是否搭建成功,使用go version命令
测试代码
- 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
有疑问加站长微信联系(非本文作者)