go语言常用语法

Go 复制代码
package main
import "fmt"

func main() {
	var str string = "我不是针对你,我是说在座的各位都是乐色。"
	var str2 = "哦,你就是被蒙面人打败的黑熊啊"
	fmt.Printf(str + "\n")
	fmt.Printf(str2 + "\n")
	
	// 声明并初始化一个或多个新变量。
	x,y := 9527, "嘿嘿"
	
	fmt.Printf("x=%d, y:%s\n", x, y) // x=9527, y:嘿嘿
	
	a,b := 1, 2
	// 多重赋值。对已经存在的变量进行赋值。 这里是交换a、b的值
	a, b = b, a
	fmt.Println(a, b) // 2 1
	
	var v bool
	ptr := &v // 指针
	fmt.Printf("ptr: %p\n", ptr)
	
	var ptr2 *int; // 指针初始值为nil
	fmt.Printf("ptr2: %p\n", ptr2) // ptr2: 0x0
	fmt.Printf("%t\n", ptr2 == nil) // true 
	var str3 string = "无所谓"
  fmt.Printf("%p\n",&str3)
  
  // 打印类型
  fmt.Printf("ptr2 type: %T\n", ptr2) // ptr2 type: *int
  fmt.Printf("str3 type: %T\n", str3) // str3 type: string
  
  var ptr3 = &str
  fmt.Printf("ptr3 type: %T\n", ptr3) // ptr3 type: *string
  str4 := *ptr3 // 指针解引用
  fmt.Printf("str4: %s\n", str4) // str4: 我不是针对你,我是说在座的各位都是乐色。
  *ptr3 = "好运连连" // 指针修改字符串不起作用
  fmt.Printf("str4: %s\n", str4) // str4: 我不是针对你,我是说在座的各位都是乐色。
  
  var val5 = 1605
  var ptr5 = &val5
  *ptr5 = 9527 // 修改成功
  fmt.Printf("val5: %d\n", val5) // val5: 9527
  
  // 还可以new创建指针
  str6 := new(string)
  *str6 = "有一人血气方刚,领袖江东,孙策孙伯符可谓英雄也?"
  fmt.Println(*str6)
  
  var arr [2]int = [2]int{1, 2}            // 定义数组
  fmt.Println(arr[0])      
  fmt.Println(arr[len(arr)-1])
  
  // 打印索引和元素
  for i, v := range arr {
    fmt.Printf("%d %d\n", i, v)
  }
  
  // 从数组生成切片 . 包含开始索引,不包含结束索引. 可以省略开头或结束索引
  var arr2  = [...]int{1, 2, 3}
  fmt.Println(arr2[1:3])
  
  // 声明整型切片
  var intList []int = []int{} // 空切片
  
  // 构造切片 make( []Type, size, cap )
  slice1 := make([]int, 2, 5)
}

打印:

ok. 很简单

相关推荐
chools1 天前
一篇文章带你搞懂Java“设计模式”! - - 超长文(涵盖23种)万字总结!【汇总篇】
java·开发语言·设计模式
程序员JerrySUN1 天前
别再把 HTTPS 和 OTA 看成两回事:一篇讲透 HTTPS 协议、安全通信机制与 Mender 升级加密链路的完整文章
android·java·开发语言·深度学习·流程图
j_xxx404_1 天前
C++算法:一维/二维前缀和算法模板题
开发语言·数据结构·c++·算法
蓝天智能1 天前
QT实战:Qt6 字符编码避坑指南
开发语言·qt
xier_ran1 天前
【第一周】关键词解释:倒数排名融合(Reciprocal Rank Fusion, RRF)算法
开发语言·python·算法
HelloWorld__来都来了1 天前
如何用python爬取上市公司信息
开发语言·python
myloveasuka1 天前
[Java]子类到底能继承父类中的哪些东西?继承中成员变量/方法访问特点---就近原则
java·开发语言
微学AI1 天前
内网穿透的应用-Plex 打造随身私人影院,用cpolar告别地狱限制。
开发语言·php
昨日余光1 天前
建议收藏!我开发了一个免费无限制的AI绘画公益站!
开发语言·前端·javascript·ai作画·typescript
ZHOUPUYU1 天前
我在PHP里学到的“套路”与“反套路” 设计模式与依赖注入
开发语言·php