下面是golang的常见的入门代码 每天华10分钟练习一边 加强记忆 对于有c c++ 基础的人 入门快 而且很快也可以做项目,但是忘记的也快,1个月不敲 竟然 处处是错误,也怪golang 语法有点奇葩,但是确实比C和C++ 好多了,我用的ide是 LITEIDE
package main
import (
"fmt"
"os"
"strconv"
"time"
)
func show() {
//...
}
func ss(x int) {
//...
}
func kk(x int) int {
return x + 10
}
func ww(s1 string, s2 string) string { //有参函数 有返回值
return s1 + s2
}
func gg() (int, string) {
return 12, "derr"
}
const PI = 1000
type vt struct { //定义一个组合
x, y int
}
func (d vt) add() int { //为组合添加一个函数add
return d.x + d.y
}
func (d vt) String() string { //为组合添加一个函数Sring
return strconv.Itoa(d.x) + " " + strconv.Itoa(d.y)
}
func (d vt) div() int { // 为组合添加一个函数div
return d.x / d.y
}
func dv(str string) { //有参函数
fmt.Println(str)
}
var exit chan int = make(chan int) // 定义一个管道
func test(t int) { //函数
exit <- t
}
func main() { //主函数
fmt.Println(PI)
i := 0
for i < 100 { //for 循环
//...
i++
}
for k := 0; k < 100; k++ { //for 循环
//...
}
if 1 > 2 { //分支
//...
} else {
//...
}
d := 0
switch d { //switch
case 10:
//...
break
case 9:
//....
break
}
hostname, err := os.Hostname() //得到OS
fmt.Println(".....................")
if err != nil { //分支 错误处理
fmt.Println(err)
} else {
fmt.Println(hostname)
}
mp := make(map[string]string) //map 键值对
mp["www"] = "dsfsdf"
mp["ddd"] = "fgtryrt"
fmt.Println(mp["www"])
var mm map[int]string = make(map[int]string) //var map 键值对
mm[1] = "dgdfg"
mm[2] = "derrr"
arr := []int{1, 2, 3, 4, 5, 6, 7} //数组
for i := 0; i < len(arr); i++ { //输出数组
fmt.Println(i, arr[i])
}
arr1 := []string{"234234", "fdgdfg"} //字符串数组
fmt.Println(arr1[0])
go func() { //协程
fmt.Println("hello world")
}()
kp := make(map[interface{}]interface{}) //map 一个通用 键值对
kp[1] = "sdfsd"
kp[2] = 232
fmt.Println(kp)
go dv("mmmmmmmmmm...") //协程
time.Sleep(1000) //和java 的thread.sleep 一样
go test(9990) //协程
fmt.Println(<-exit) // 输出管道
time.Sleep(2000)
}