go语言基础-牛刀小试

这段时间对go语言,感兴趣,就查资料,小学一下整理备忘,如下;

 练习:

package main

import (
	"fmt"
)

//函数
func add(a int, b int) (int, int) {
	return a + b, a
}

func main() {
	//变量声明
	var num int = 20
	num_2 := 20
	var num_3 int8
	num_3 = 40

	var str, str_2, str_3 string = "hello", "world", "haha"
	const str_4 string = "abc"
	fmt.Println(num)
	fmt.Println(num_2)
	fmt.Println(num_3)
	fmt.Println(str)
	fmt.Println(str_2)
	fmt.Println(str_3)
	fmt.Println(str_4)

	//判断语句
	if num < 4 {
		fmt.Println("num < 4")
	} else if num > 40 {
		fmt.Println("num > 40")
	} else {
		fmt.Println("no")
	}

	switch num {
	case 10:
		fmt.Println(10)
	case 20:
		fmt.Println(20)
		fallthrough
	case 30:
		fmt.Println(30)
		fallthrough
	case 40:
		fmt.Println(40)
	}

	//循环语句
	sum := 0
	for index := 1; index < 10; index++ {
		sum += index
	}
	fmt.Println(sum)

	//函数
	num, num_2 = add(1, 2)
	fmt.Println(num)

	//数组
	var arr [10]int
	for i := 0; i < 10; i++ {
		arr[i] = i
	}

	for i := 0; i < 10; i++ {
		fmt.Println(arr[i])
	}

	//指针
	var ptr *int
	ptr = &num
	fmt.Println(*ptr)

	if ptr == nil {
		fmt.Println("nil")
	} else {
		fmt.Println("nil")
	}

	//结构体
	type Person struct {
		name string
		male string
		age  int
	}

	var perosn Person
	perosn.name = "ll"
	perosn.male = "man"
	perosn.age = 27

	var ptr_person *Person
	ptr_person = &perosn
	fmt.Println(ptr_person.male)

	//切片:动态数组
	var arr_dy []int
	arr_dy = append(arr_dy, 1, 2, 3, 5)
	fmt.Println(len(arr_dy))

	s := arr_dy[1:3]
	fmt.Println(s[0])
	fmt.Println(len(s))

	//范围:在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value
	for i, n := range arr_dy {
		fmt.Println(i)
		fmt.Println(n)
	}

	//Map(集合)
	var map_var map[string]string
	map_var = make(map[string]string)

	map_var["name"] = "lishuwei"
	map_var["male"] = "man"
	map_var["age"] = "27"

	fmt.Println(map_var["male"])
	for k, v := range map_var {
		fmt.Printf("%s -> %s\n", k, v)
	}
	//cmd
	//cmd := exec.Command("ls", " ", "/var")
	 执行命令,并返回结果
	//output, err := cmd.Output()
	//if err != nil {
	//	panic(err)
	//}
	 因为结果是字节数组,需要转换成string
	//fmt.Println(string(output))

	var firstName, lastName string
	fmt.Scanln(&firstName, &lastName)
	fmt.Printf("firstname:%s lastname:%s", firstName, lastName)
}

参考:
https://www.kancloud.cn/kancloud/the-way-to-go/161230
https://www.runoob.com/go/go-interfaces.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值