Golang学習ノート
1752 ワード
-----1----- package main
import ( "fmt" "go_dev/day1/goroute_example/goroute")
//goのgorouteで異なるファイルの同時操作を実現//channelパイプ(chan)スレッドデータでfunc main(){//パイプpipe var pipe chan int pipe=make(chan int,3)go goroute.Add(100,200,pipe)//パイプの値をsum上のsum:=fmt.Println("sum==",sum)に言及
}
-----2----- package calc
//go書き出しの区別方法は、アルファベット大文字func Add(a int,b int)int{return a+b}
----3----- package add
var Name string = "hhh"var Age int = 10
func init() { Name = "???"Age=88}//initは、各独立したパケットがmainに出力されて最後に実行される関数//a「go_dev/day 2/example 2/add」=>パケットの名前を変更します.
------4------パケットは初期化され、参照されません.
import (_ "add")
----5-----
constは永遠に読み取り専用で、変更できません.
const( a = 0 b = 1 c = 2 )
よりプロフェッショナルなconst(a=iota(以下のb cは1から増加)b//1 c//2)
----6-----
値タイプと参照タイプ
1.値タイプ:変数は直接値を格納し、メモリは通常スタックに割り当てられる(新しい部分を作成する)---基本データ型int、float、bool、string、配列、struct 2.参照タイプ:変数は、ポインタ、slice、map、chanなど、アドレスによって対応する値を見つけるアドレスを格納します.
----7-----
package main
import"fmt"//*操作アドレス対応メモリの値func swap(a*int,b*int){tmp:=*a*a=*b*b=tmp return}
func main(){first:=100 second:=200//&着信アドレスswap(&first,&second)fmt.Println('1',&first)fmt.Println('2',&second)fmt.Println('1',first)fmt.Println('2',second)}
ポインタについて
import ( "fmt" "go_dev/day1/goroute_example/goroute")
//goのgorouteで異なるファイルの同時操作を実現//channelパイプ(chan)スレッドデータでfunc main(){//パイプpipe var pipe chan int pipe=make(chan int,3)go goroute.Add(100,200,pipe)//パイプの値をsum上のsum:=fmt.Println("sum==",sum)に言及
}
-----2----- package calc
//go書き出しの区別方法は、アルファベット大文字func Add(a int,b int)int{return a+b}
----3----- package add
var Name string = "hhh"var Age int = 10
func init() { Name = "???"Age=88}//initは、各独立したパケットがmainに出力されて最後に実行される関数//a「go_dev/day 2/example 2/add」=>パケットの名前を変更します.
------4------パケットは初期化され、参照されません.
import (_ "add")
----5-----
constは永遠に読み取り専用で、変更できません.
const( a = 0 b = 1 c = 2 )
よりプロフェッショナルなconst(a=iota(以下のb cは1から増加)b//1 c//2)
----6-----
値タイプと参照タイプ
1.値タイプ:変数は直接値を格納し、メモリは通常スタックに割り当てられる(新しい部分を作成する)---基本データ型int、float、bool、string、配列、struct 2.参照タイプ:変数は、ポインタ、slice、map、chanなど、アドレスによって対応する値を見つけるアドレスを格納します.
----7-----
package main
import"fmt"//*操作アドレス対応メモリの値func swap(a*int,b*int){tmp:=*a*a=*b*b=tmp return}
func main(){first:=100 second:=200//&着信アドレスswap(&first,&second)fmt.Println('1',&first)fmt.Println('2',&second)fmt.Println('1',first)fmt.Println('2',second)}
ポインタについて
package main
import "fmt"
func main() {
var a int = 10
fmt.Println("ssss",&a)
// !
var p *int
p = &a
fmt.Println("aaaa",p)
// *
*p = 100
fmt.Println("ssss",a)
}