当前位置: 首页 > news >正文

昌乐哪里有做网站的去掉wordpress副标题

昌乐哪里有做网站的,去掉wordpress副标题,兰州优化网站推广,百度云域名备案目录 一、Mac brew 安装go环境 1.1 安装步骤 1.2 设置GOPATH 及环境变量 1.3 编写第一个go程序 二、快速入门 2.1 快速入门需求 2.2 go学习#xff08;自用#xff09; 2.2.1 go基础程序 2.2.2 变量声明 2.2.3 常量和枚举 2.2.4 函数与多种返回值 2.2.5 init函数…目录 一、Mac brew 安装go环境 1.1 安装步骤 1.2 设置GOPATH 及环境变量 1.3 编写第一个go程序 二、快速入门 2.1 快速入门需求 2.2 go学习自用 2.2.1 go基础程序 2.2.2 变量声明 2.2.3 常量和枚举 2.2.4 函数与多种返回值 2.2.5 init函数与import导包 2.2.6 import匿名、别名导包 2.2.7 defer调用顺序 2.2.8 数组的表示和动态数组 slice 2.2.9 map的声明使用 三、debug 3.1 go: cannot run *_test.go files 3.2 深拷贝copy和浅拷贝slice切片 3.3 引用传递 一、Mac brew 安装go环境 1.1 安装步骤 1终端输入也可以指定下载go版本 brew install go 2查看golang当前版本 go version 3查看当前golang环境 执行 go env 1.2 设置GOPATH 及环境变量 1GOPATH 是工作目录工作空间目录 go_project 就是一个目录其中包含三个子目录 src 目录包含Go的源文件它们被组织成包每个目录都对应一个包pkg 目录包含包对象bin 目录包含可执行命令。 如下图 ​2 终端输入 vim .zshrc 添加: GOPATH 后面加你自己的工作空间这里是我自己建立的go_project export GOPATH/Users/mima6ge0/Documents/yanhan_practice/go_projectexport PATH $PATH:$GOPATH/bin 执行 source ~/.zshrc 生效使用go env查看是否修改成功 1.3 编写第一个go程序 1新建hellow.go文件 package mainimport fmtfunc main() {fmt.Println(hello, world) } 2进入文件所在目录执行go run hellow.go成功如下图 二、快速入门 2.1 快速入门需求 具备1种后端编程语言开发经验(C/C/Java/Python/PHP)具备基本的网络编程能力和并发思想了解计算机基本体系结构了解Linux基础知识 2.2 go学习自用 2.2.1 go基础程序 package main //程序的包名 // main函数 //多个文件导入 import (fmttime )func main() { //函数的{必须和函数名在一行换到下一行就是语法错误强制代码风格fmt.Println(hellow Go!)//go语言不需要;,可有可无time.Sleep(10 * time.Second) }2.2.2 变量声明 package main /* 变量的声明方法*/ import fmt //全局变量,冒等方法不支持全局其他的都可以 var A int 100 func main() {//声明变量默认值是0var a intfmt.Println(a , a)fmt.Printf(type of a %T\n, a)//声明变量,初始化var b int 100fmt.Println(b , b)fmt.Printf(type of v %T\n, b)//初始化可以省去变量类型通过值去匹配变量的树枝类型var c 100fmt.Println(c , c)fmt.Printf(type of c %T\n, c)//字符串var d string dasdafmt.Println(d , d)fmt.Printf(type of d %T\n, d)//最常用方法:冒等省略var直接自动匹配,:初始化加赋值函数内部使用e : 3213.432fmt.Println(e , e)fmt.Printf(type of e %T\n, e)fmt.Println(A , A)fmt.Printf(type of A %T\n, A)//声明多个变量var x, y int 100, 100fmt.Println(x , x, , y , y)var m, n 100, 88090n kjuhkufmt.Println(m , m, , n , n)//多行多变量声明var (xx int 121zz bool true)fmt.Println(xx , xx, , zz , zz) }2.2.3 常量和枚举 package mainimport fmt//const 可以定义枚举类型 const (//可以在const里面添加一个关键字 iota,每行的iota都会累加1第一行的iota的默认值是0BEIJING 10 * iota // iota 0SHANGHAI //iota 10SHENZHEN //iota 20 )const (a, b iota 1, iota 2 //iota 0, a 1, b 2c, d //iota 1, c 2, d 3e, f //iota 2, e 3, f 4g, h iota * 2, iota * 3 //iota 3, g 6, h 9i, k //iota 4, i 8, k 12 )func main() {//常量只读,不允许修改const a int 100fmt.Println(a , a)fmt.Println(BEIJING , BEIJING)fmt.Println(SHANGHAI , SHANGHAI)fmt.Println(SHENZHEN , SHENZHEN)fmt.Println(a , a, b , b)fmt.Println(c , c, d , d)fmt.Println(e , e, f , f)fmt.Println(g , g, h , h)fmt.Println(i , i, k , k)//iota只能在const里面使用,var里面不可以} 2.2.4 函数与多种返回值 package mainimport fmt//返回一个值匿名 func foo1(a string, b int) int {fmt.Println(a , a)fmt.Println(b , b)c : 100return c }//返回多个值匿名 func foo2(a string, b int) (int, int) {fmt.Println(--------foo2----------)fmt.Println(a , a)fmt.Println(b , b)return 888, 9999 }//返回多个返回值有形参名称 func foo3(a string, b int) (r1 int, r2 int) {fmt.Println(--------foo3----------)fmt.Println(a , a)fmt.Println(b , b)r1 1000r2 100000return }func foo4(a string, b int) (r1, r2 int) {fmt.Println(--------foo4----------)fmt.Println(a , a)fmt.Println(b , b)//r1, r2属于foo3的形参初始化默认的值是0作用域空间是整个foo4函数{}的整体fmt.Println(未赋值r1 , r1)fmt.Println(未赋值r2 , r2)r1 1000r2 100000return }func main() {c : foo1(func1, 1)fmt.Println(c , c)ret1, ret2 : foo2(func2, 2)fmt.Println(ret1 , ret1)fmt.Println(ret2 , ret2)r1, r2 : foo3(func3, 3)fmt.Println(r1 , r1)fmt.Println(r2 , r2)r1, r2 foo4(func4, 4)fmt.Println(r1 , r1)fmt.Println(r2 , r2)} 2.2.5 init函数与import导包 文件目录树状图 lib1.go 代码 package lib1import fmt//当前lib1包提供的API //首字母大写的话代表当前接口对外开放首字母小写只能在该文件下使用 func Lib1Test () {fmt.Println(Lib1Test() ...) }func init () {fmt.Println(lib1 init ...) } lib2.go 代码  package lib2import fmt//当前lib2包提供的API func Lib2Test () {fmt.Println(Lib2Test() ...) }func init () {fmt.Println(lib2 init ...) } main.go代码 package main//需要在GOPATH下 import (GolangStudy/5_init/lib1GolangStudy/5_init/lib2 )func main () {lib1.Lib1Test()lib2.Lib2Test() } 2.2.6 import匿名、别名导包 基于2.2.5的代码 package main//需要在GOPATH下go语言语法比较严格导入必须使用 import (// _ 匿名导包导入但是不使用不会报错_ GolangStudy/5_init/lib1//mylib2是lib2的别名//mylib2 GolangStudy/5_init/lib2//可以不写包名直接使用Lib2Test(),把方法导入当前main包里面不建议使用如果有重名函数会出现问题. GolangStudy/5_init/lib2 )func main () {//lib1.Lib1Test()//mylib2.Lib2Test()Lib2Test() } 总结 2.2.7 defer调用顺序 package main /* defer的执行顺序是在函数体全部执行完以后和结束之前 多个defer语句是压栈的defer在return后面执行 */ import fmtfunc func1() {fmt.Println(A) }func func2() {fmt.Println(B) }func func3() {fmt.Println(C) }func main () {defer func1()defer func2()defer func3() } 2.2.8 数组的表示和动态数组 slice 1固定长度数组表示遍历等(不建议不常用) package main import fmt//不建议使用可以使用动态数组 func printArray (array [4]int){//值拷贝fmt.Println(---------------输出函数--------------)for i : 0; i len(array); i {fmt.Println(array2_value , array[i])}//如果要对数组的值进行修改下面这种传参是改不了的// array[0] 10000 } func main () {// 固定长度数组var array1 [10]intfor i : 0; i len(array1); i {fmt.Println(array1_value , array1[i])}array2 : [10]int{1, 2, 4, 5}array3 : [4]int{1, 2, 4, 5}for index, value : range array2 {fmt.Println(array2_index , index, array2_value , value)}printArray(array3)// 打印数组类型fmt.Printf(array1 type : %T\n, array1)fmt.Printf(array2 type : %T\n, array2)fmt.Printf(array3 type : %T\n, array3)} 2动态数组切片slice package main import fmtfunc printArray(array []int) {// 引用拷贝传递的是数组指针所以array[0]会被修改为100array[0] 100// _ 表示匿名的变量不被使用也不会发生问题for _, value : range array {fmt.Println(value , value)} } func main() {// 动态数组切片slicearray : []int{1, 2, 3, 4}//查看array的类型fmt.Printf(array type : %T\n, array)printArray(array)} 3slice四种定义声明方式 package mainimport (fmt) func main() {// 声明slice1是一个切片并且初始化长度是3默认值是1 2 3// slice1 : []int{1, 2, 3}// 声明slice1是一个切片但是没有分配空间len 0,value []// var slice1 []int // 可以通过make来开辟几个空间这时候len 3,value [0 0 0]// slice1 make([]int, 3)// 声明slice1是一个切片通过make来开辟3空间这时候len 3,value [0 0 0]// var slice1 []int make([]int, 3)// 声明slice1是一个切片通过make来开辟3空间这时候len 3,value [0 0 0],通过:推测出他是一个切片slice1 : make([] int, 3)fmt.Printf(len %d , value %v\n, len(slice1), slice1)// 判断一个切片是否为空if slice1 nil {fmt.Println(slice1 is null!)} else {fmt.Println(slice2 is not null!!)} } 4slice切片追加与截取 package mainimport fmt func main () {// 切片中len和cap是不同的var numbers make([] int, 3, 5) // len 3, cap容量 5fmt.Printf(len %d, cap %d, value %v\n, len(numbers), cap(numbers), numbers)//追加一个元素7numbers append(numbers, 7)fmt.Printf(len %d, cap %d, value %v\n, len(numbers), cap(numbers), numbers)numbers append(numbers, 8)// 当追加元素时容量已满则自动扩充为原来一开始定义的cap的二倍扩充为10numbers append(numbers, 9)fmt.Printf(len %d, cap %d, value %v\n, len(numbers), cap(numbers), numbers)// 没有定义容量的情况但是在容量已满的情况下追加元素直接扩充为len的二倍var numbers2 make([] int, 3)fmt.Printf(len %d, cap %d, value %v\n, len(numbers2), cap(numbers2), numbers2)numbers2 append(numbers2, 4)fmt.Printf(len %d, cap %d, value %v\n, len(numbers2), cap(numbers2), numbers2)// slice切片s : [] int{1, 2, 3, 4}s1 : s[0:2] //s1是s中的索引在[0, 2)区间的元素和python类似fmt.Println(s1 , s1)s2 : s[1:] //s1是s中的索引在[1, len(s))区间的元素和python类似fmt.Println(s2 , s2)//如若修改s1里面的元素s也会随之改变因为这种切片相当于指针指向了s所以改s1值,s和s1会一起发生改变浅拷贝s1[0] 20000fmt.Println(s , s)// go提供了copy函数切片的时候只将值复制过来深拷贝s3 : make([] int, 3) //[0, 0, 0]// 将s2的值依次拷贝到s3中copy(s3, s2)fmt.Println(s3 , s3) } 2.2.9 map的声明使用 1map的声明 package mainimport fmt func main() {// 第一种声明方式var map1 map[string]stringif map1 nil {fmt.Println(map1是一个空map!!)}// 使用前需要通过make来给map分配数据空间map1 make(map[string]string, 3)map1[one] javamap1[two] phpmap1[three] pythonfmt.Println(map1 , map1)// 第二种声明方式直接:map2 : make(map[int]string)map2[1] baidumap2[2] tengxunmap2[3] alifmt.Println(map2 , map2)// 第三种声明方式,一般带有初始化的map用这种方式map3 : map[string]string{王八: 绿豆,傻子: 小丑,}fmt.Println(map3 , map3) } 2map的使用 package mainimport (fmt )func printMap (city_map map[string]string) {// 遍历for key, value : range city_map {fmt.Println(key , key, , value , value)} }func changeMap (city_map map[string]string) {// city_map是一个引用传递传递过来是地址可以修改city_mapcity_map[UK] london } func main() {cityMap : make(map[string]string)cityMap[china] beijingcityMap[USA] DCprintMap(cityMap)// 删除delete(cityMap, china)fmt.Println(-----------删除后---------------)printMap(cityMap)// 修改cityMap[USA] londonfmt.Println(-----------修改后---------------)printMap(cityMap)// 增加cityMap[china] beijingfmt.Println(-----------增加后---------------)printMap(cityMap)changeMap(cityMap)fmt.Println(-----------函数增加后---------------)printMap(cityMap)} 2.2.10 面向对象 1结构体的使用 package mainimport fmt// 声明一种数据类型myint是int的别名 type myint int // 声明结构体 type Book struct{title stringauth string }func changeBook (book Book) {// 传递了一个book的副本book.title 三体 }func changeBook2 (book *Book) {// 指针传递book.title 生死疲劳 }func main () {var a myint 232fmt.Println(a , a)fmt.Printf(type of a is %T\n, a)var book1 Bookbook1.title 活着book1.auth 余华fmt.Printf(%v\n, book1)changeBook(book1)// 使用上面changeBook修改值并没有成功fmt.Printf(%v\n, book1)// 参数是地址所以要加changeBook2(book1)fmt.Printf(%v\n, book1)} 2面向对象类的表示 三、debug 3.1 go: cannot run *_test.go files 背景将go文件命名成array_test.go报错go: cannot run *_test.go files 原因_test.go 是golang专用的测试文件 解决改名 3.2 深拷贝copy和浅拷贝slice切片 https://blog.csdn.net/weixin_45440484/article/details/131740125 3.3 引用传递 引用传递是一种变量传递的方式它不是直接传递变量的值而是传递变量的内存地址引用。在引用传递中被调用函数可以通过引用修改原始变量的值。
http://wiki.neutronadmin.com/news/164451/

相关文章:

  • 互联网站的建设维护营销崇明做网站
  • 无锡做网站设计的公司wordpress 修改功能
  • 网站宣传平台手机移动端网站建设
  • 中国做网站的网站迁安网站建设
  • 杭州设计网站的公司哪家好北京网站优化培训
  • 阜宁县建设局网站wordpress右侧居中
  • 房地产网站模板 下载做网站多少钱西宁君博领衔
  • jsp 做网站需要什么模板的种类
  • 池州海绵城市建设官方网站系统开发过程中最重要最关键的环节是
  • 相城做网站的公司网络服务费交印花税吗
  • 熊掌号网站怎么做企业网站管理中心
  • 常用网站开发软件义乌市场官方网站
  • 网站asp怎么没有菜单栏微信服务商平台官网
  • 网站建设电话销售技巧和话术央视优购物官方网站
  • 广西地矿建设集团有限公司网站17网站一起做网店图片工具
  • 企业手机网站建设信息用python开发网站
  • 免费网站部署Wordpress 防注入代码
  • 培训型网站 建设方案网站建设怎么分录
  • 外贸网站用什么语言宝塔面板装不了wordpress
  • 做婚庆网站图片下载做网站 语言
  • 家政服务网站模板软件推广平台
  • 台州免费自助建站模板注册一个公司全部流程
  • 徐州云龙区建设局网站桂林微物网络科技有限公司
  • 学校 网站源码张家明做网站
  • 大连做网站公司网站管理
  • 梅州网站建网站开发的技术路线是什么
  • 网站建设实训经验总结搜索引擎seo如何优化
  • 中国行业网站联盟wordpress的登陆地址修改
  • 外贸网站建设浩森宇特上海网站制作公司怎么找
  • seo网站排名推广6生肖竞猜网站建设