{"version":3,"sources":["webpack:///./src/assets/images/init.png","webpack:///./src/views/Chap12PackageInitialization.vue?cc18","webpack:///src/views/Chap12PackageInitialization.vue","webpack:///./src/views/Chap12PackageInitialization.vue?f75e","webpack:///./src/views/Chap12PackageInitialization.vue","webpack:///./src/assets/images/packageDeps.png","webpack:///./src/assets/images/init_multipackages.png","webpack:///./src/assets/images/init_example_program.png","webpack:///./src/assets/images/var_initialization_cycle.png"],"names":["module","exports","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_v","directives","name","rawName","pre","staticRenderFns","components","FeedbackInvite","BuyCopyInvite","NewsletterInput","ChapterHeading","ChapterBibliography","TOCChapter","NavBar","BIconLink45deg","Footer","created","window","data","publicPath","metaInfo","title","htmlAttrs","lang","meta","charset","content","property","link","rel","href","component"],"mappings":"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","file":"js/chunk-72dec8c6.00e9d9a2.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/init.6a5b0035.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('NavBar'),_c('div',{staticClass:\"container-fluid\"},[_c('b-row',[_c('TOCChapter',{attrs:{\"chapter-id\":\"Chap12PackageInitialization\"}}),_c('b-col'),_c('b-col',{attrs:{\"role\":\"main\",\"md\":\"6\"}},[_c('ChapterHeading',{attrs:{\"chapter-title\":\"Chapter 12: Package Initialization\",\"image-name\":\"package-init.jpg\",\"image-alt\":\"Package Initialization\"}}),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"what-will-you-learn-in-this-chapter\"}}),_c('h1',{attrs:{\"data-number\":\"1\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"1\")]),_vm._v(\" What will you learn in this chapter? \"),_c('a',{attrs:{\"href\":\"#what-will-you-learn-in-this-chapter\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('ul',[_c('li',[_vm._v(\"How to initialize a package?\")])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"technical-concepts-covered\"}}),_c('h1',{attrs:{\"data-number\":\"2\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"2\")]),_vm._v(\" Technical concepts covered \"),_c('a',{attrs:{\"href\":\"#technical-concepts-covered\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('ul',[_c('li',[_vm._v(\"init function\")])]),_c('p',[_vm._v(\"Package initialization takes place into \"),_c('strong',[_vm._v(\"init\")]),_vm._v(\" functions. In this section, we will see how to use them.\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"example-a-mysql-driver\"}}),_c('h1',{attrs:{\"data-number\":\"3\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"3\")]),_vm._v(\" Example: a MySQL driver \"),_c('a',{attrs:{\"href\":\"#example-a-mysql-driver\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"what-is-mysql-what-is-a-driver\"}}),_c('h2',{attrs:{\"data-number\":\"3.1\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"3.1\")]),_vm._v(\" What is MySQL? what is a driver? \"),_c('a',{attrs:{\"href\":\"#what-is-mysql-what-is-a-driver\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"MySQL is an open-source database management system.\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"A database is “a collection of interrelated data stored together in one or more computerized file”\"),_c('b-link',{staticClass:\"citation\",attrs:{\"data-cites\":\"institute1990ieee\",\"href\":\"#institute1990ieee\"}},[_vm._v(\"[@institute1990ieee]\")])],1),_c('ul',[_c('li',[_vm._v(\"It is an organized collection of data stored in a computer system.\")])])]),_c('li',[_c('p',[_c('strong',[_vm._v(\"SQL\")]),_vm._v(\" is a query language (Structured Query Language) that MySQL understands\")])]),_c('li',[_c('p',[_vm._v(\"MySQL is an SQL database. It means that it will understand commands written in SQL.\")])])]),_c('p',[_vm._v(\"MySQL is a program that you can install on a computer. With MySQL, you create a database, inject and retrieve data. To do those actions, you will need to use a program to issue MySQL commands. Those programs are often called “clients”. Those clients will contact the server. The server is the computer where MySQL has been installed and, therefore, where the data is stored.\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"MySQL provides a Command Line Interface (CLI) program.\")])]),_c('li',[_c('p',[_vm._v(\"MySQL workbench offers a graphical interface (GUI)\")])]),_c('li',[_c('p',[_vm._v(\"Various programming languages have developed modules/libraries to issue commands to MySQL databases. Sometimes those programs are packaged into extensions that we can install easily.\")])])]),_c('p',[_vm._v(\"In the standard library of Go, you can find the package \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"database/sql\")])]),_vm._v(\" that provides a \"),_c('strong',[_vm._v(\"generic interface around SQL databases\")]),_vm._v(\", ie. database systems that can understand SQL.\")]),_c('p',[_vm._v(\"The standard library does not offer specific programs to speak to a specific database management system. That’s why we need to use a “\"),_c('strong',[_vm._v(\"driver\")]),_vm._v(\"” to speak to MySQL.\")]),_c('p',[_vm._v(\"A MySQL driver is a module built to interact with a MySQL database. In this section, we will study the open-source driver \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"github.com/go-sql-driver/mysql\")])]),_vm._v(\".\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"init-function-from-github.comgo-sql-drivermysql\"}}),_c('h2',{attrs:{\"data-number\":\"3.2\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"3.2\")]),_vm._v(\" Init function from github.com/go-sql-driver/mysql \"),_c('a',{attrs:{\"href\":\"#init-function-from-github.comgo-sql-drivermysql\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"// https://github.com/go-sql-driver/mysql/blob/master/driver.go\\npackage MySQL\\n\\nimport (\\n //...\\n \\\"database/sql\\\"\\n //...\\n)\\n// ...\\n\\n\\nfunc init() {\\n sql.Register(\\\"mysql\\\", &MySQLDriver{})\\n}\")])]),_c('p',[_vm._v(\"The project defines a function named init.\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"It has no parameters\")])]),_c('li',[_c('p',[_vm._v(\"It has no results\")])]),_c('li',[_c('p',[_vm._v(\"The function calls the exported function \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"Register\")])]),_vm._v(\" from the \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"database/sql\")])]),_vm._v(\" standard library package\")])])]),_c('p',[_vm._v(\"And here is the \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"Register\")])]),_vm._v(\" function :\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"// Register makes a database driver available by the provided name.\\n// If Register is called twice with the same name or if driver is nil,\\n// it panics.\\nfunc Register(name string, driver driver.Driver) {\\n //...\\n}\")])]),_c('p',[_vm._v(\"Thanks to the comment, we understand that this function will make the driver available.\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"how-to-use-the-driver\"}}),_c('h2',{attrs:{\"data-number\":\"3.3\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"3.3\")]),_vm._v(\" How to use the driver? \"),_c('a',{attrs:{\"href\":\"#how-to-use-the-driver\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"Let’s take a look at this example program using the driver.\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"// package-init/init-mysql/main.go\\npackage main\\n\\nimport (\\n \\\"database/sql\\\"\\n \\\"log\\\"\\n\\n _ \\\"github.com/go-sql-driver/mysql\\\"\\n)\\n\\nfunc main() {\\n db, err := sql.Open(\\\"mysql\\\", \\\"user:password@/dbname\\\")\\n if err != nil {\\n panic(err)\\n }\\n log.Println(db)\\n //...\\n}\")])]),_c('ul',[_c('li',[_c('p',[_vm._v(\"In the import block, we have to import statements\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"The first one \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"\\\"database/sql\\\"\")])]),_vm._v(\" which imports the standard library package.\")])]),_c('li',[_c('p',[_vm._v(\"And \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"_ \\\"github.com/go-sql-driver/mysql\\\"\")])]),_vm._v(\" which is a \"),_c('strong',[_vm._v(\"blank import\")])])])])]),_c('li',[_c('p',[_vm._v(\"Then in the main function, we call the function Open from \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"\\\"database/sql\\\"\")])])]),_c('ul',[_c('li',[_vm._v(\"It will open a connection to the database.\")])])])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"what-about-the-init-function\"}}),_c('h2',{attrs:{\"data-number\":\"3.4\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"3.4\")]),_vm._v(\" What about the init function \"),_c('a',{attrs:{\"href\":\"#what-about-the-init-function\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"There is no trace of the init function in our main package... It’s therefore perfectly understandable because :\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"The \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"init\")])]),_vm._v(\" function from the driver is unexported.\")])]),_c('li',[_c('p',[_vm._v(\"Therefore it’s impossible to call it from another package.\")])])]),_c('p',[_vm._v(\"How does Go register the driver if we do not call the init function?\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"Our program will call the init function.\")])]),_c('li',[_c('p',[_c('strong',[_vm._v(\"It’s called because we imported the driver with a blank import statement.\")])])])]),_c('p',[_vm._v(\"When you import a package with a blank import statement, the package init function will be run.\")]),_c('p',[_vm._v(\"Note that the author of the driver package could also remove the init function and specifically, instruct the user to call the Register function manually...\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"initialization-rules\"}}),_c('BuyCopyInvite'),_c('h1',{attrs:{\"data-number\":\"4\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"4\")]),_vm._v(\" Initialization rules \"),_c('a',{attrs:{\"href\":\"#initialization-rules\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"The initialization of a package takes place in a specific order defined by the go specification :\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"The imported packages are initialized\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"Variables are initialized\")])]),_c('li',[_c('p',[_vm._v(\"Init functions are run\")])])])]),_c('li',[_c('p',[_vm._v(\"Then the package itself is initialized\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"Variables are initialized\")])]),_c('li',[_c('p',[_vm._v(\"Init functions are run\")])])])])]),_c('p',[_vm._v(\"Init functions are run \"),_c('strong',[_vm._v(\"sequentially\")]),_vm._v(\". In other words, init functions are \"),_c('strong',[_vm._v(\"not\")]),_vm._v(\" run concurrently.\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"rules-illustration\"}}),_c('h1',{attrs:{\"data-number\":\"5\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"5\")]),_vm._v(\" Rules illustration \"),_c('a',{attrs:{\"href\":\"#rules-illustration\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"tree-of-the-example-program\"}}),_c('h2',{attrs:{\"data-number\":\"5.1\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"5.1\")]),_vm._v(\" Tree of the example program \"),_c('a',{attrs:{\"href\":\"#tree-of-the-example-program\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"To illustrate those rules, let’s take an example program. In figure \"),_c('a',{attrs:{\"href\":\"#fig:Tree-of-our-ex-prog-init-pack\",\"data-reference-type\":\"ref\",\"data-reference\":\"fig:Tree-of-our-ex-prog-init-pack\"}},[_vm._v(\"1\")]),_vm._v(\" you can see the file structure of the program\")]),_c('figure',[_c('b-img',{staticClass:\"img-book\",attrs:{\"src\":require('@/assets/images/init_example_program.png'),\"alt\":\"Tree of our example program[fig:Tree-of-our-ex-prog-init-pack]\",\"fluid\":\"\",\"thumbnail\":\"\"}}),_c('figcaption',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"Tree of our example program\"),_c('span',{attrs:{\"id\":\"fig:Tree-of-our-ex-prog-init-pack\",\"label\":\"fig:Tree-of-our-ex-prog-init-pack\"}},[_vm._v(\"[fig:Tree-of-our-ex-prog-init-pack]\")])])],1),_c('p',[_vm._v(\"We have three packages: \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"room\")])]),_vm._v(\", \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"invoice\")])]),_vm._v(\", and \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"currency\")])]),_vm._v(\", along with a main.go file (and a go.mod)\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"source-code\"}}),_c('h2',{attrs:{\"data-number\":\"5.2\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"5.2\")]),_vm._v(\" Source code \"),_c('a',{attrs:{\"href\":\"#source-code\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"Here is the go.mod file :\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"module maximilien-andile.com/packageInit/rules\\n\\ngo 1.13\")])]),_c('p',[_vm._v(\"And here is the main file :\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"// package-init/rules-illustration/main.go\\npackage main\\n\\nimport (\\n \\\"fmt\\\"\\n\\n \\\"maximilien-andile.com/packageInit/rules/invoice\\\"\\n)\\n\\nfunc init() {\\n fmt.Println(\\\"main\\\")\\n}\\nfunc main() {\\n fmt.Println(\\\"--program start--\\\")\\n invoice.Print()\\n}\")])]),_c('p',[_vm._v(\"In the \"),_c('strong',[_vm._v(\"main\")]),_vm._v(\" source file, we have added an \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"init\")])]),_vm._v(\" function. Inside the \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"main\")])]),_vm._v(\" function, we call the invoice package :\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"// package-init/rules-illustration/invoice/invoice.go\\npackage invoice\\n\\nimport (\\n \\\"fmt\\\"\\n\\n \\\"maximilien-andile.com/packageInit/rules/currency\\\"\\n)\\n\\nfunc init() {\\n fmt.Println(\\\"invoice init\\\")\\n}\\n\\nfunc Print() {\\n fmt.Println(\\\"INVOICE Number X\\\")\\n fmt.Println(54, currency.EuroSymbol())\\n}\")])]),_c('p',[_vm._v(\"The package \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"invoice\")])]),_vm._v(\" use a function from the \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"currency\")])]),_vm._v(\" package. Here is the source of \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"currency\")])]),_vm._v(\" package :\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"// package-init/rules-illustration/currency/currency.go\\npackage currency\\n\\nimport \\\"fmt\\\"\\n\\nvar f = func() string {\\n fmt.Println(\\\"variable f initialized\\\")\\n return \\\"test\\\"\\n}()\\n\\nfunc init() {\\n fmt.Println(\\\"currency init\\\")\\n}\\n\\nfunc EuroSymbol() string {\\n return \\\"EUR\\\"\\n}\")])]),_c('p',[_vm._v(\"The variable \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"f\")])]),_vm._v(\" seems a little bit strange. We assign to the variable the output result of an anonymous function (see chapter \"),_c('a',{attrs:{\"href\":\"#chap:Anonymous-Functions-and\",\"data-reference-type\":\"ref\",\"data-reference\":\"chap:Anonymous-Functions-and\"}},[_vm._v(\"[chap:Anonymous-Functions-and]\")]),_vm._v(\"). This function returns the string \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"\\\"test\\\"\")])]),_vm._v(\". Before returning it displays \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"\\\"variable f initialized\\\"\")])]),_vm._v(\".\")]),_c('p',[_vm._v(\"This function demonstrates when variables are initialized. They call \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"fmt.Println\")])]),_vm._v(\", so we will detect initialization in the program output.\")]),_c('p',[_vm._v(\"Finally, this is the source file of the \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"room\")])]),_vm._v(\" package :\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"// package-init/rules-illustration/room/room.go\\npackage room\\n\\nimport \\\"fmt\\\"\\n\\nfunc init() {\\n fmt.Println(\\\"room init\\\")\\n}\")])]),_c('p',[_vm._v(\"We can observe that the expected behavior in the output result of our program. First, the imported packages are initialized then the main package is initialized.\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"compilation-and-run\"}}),_c('h2',{attrs:{\"data-number\":\"5.3\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"5.3\")]),_vm._v(\" Compilation and run \"),_c('a',{attrs:{\"href\":\"#compilation-and-run\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"$ go build main.go\\n./main\\nvariable f initialized\\ncurrency init\\ninvoice init\\nmain\\n--program start--\\nINVOICE Number X\\n54 EUR\")])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"result-analysis\"}}),_c('h2',{attrs:{\"data-number\":\"5.4\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"5.4\")]),_vm._v(\" Result analysis \"),_c('a',{attrs:{\"href\":\"#result-analysis\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('figure',[_c('b-img',{staticClass:\"img-book\",attrs:{\"src\":require('@/assets/images/init.png'),\"alt\":\"Initialization steps of a package\",\"fluid\":\"\",\"thumbnail\":\"\"}}),_c('figcaption',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"Initialization steps of a package\")])],1),_c('p',[_vm._v(\"The sequence of a package initialization is always the same :\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"Variables are initialized\")])]),_c('li',[_c('p',[_vm._v(\"Then the init functions are run\")])])]),_c('p',[_vm._v(\"What we can note in the log is that packages are initialized in a specific order (see figure \"),_c('a',{attrs:{\"href\":\"#fig:Initialization-sequence-multi-pack\",\"data-reference-type\":\"ref\",\"data-reference\":\"fig:Initialization-sequence-multi-pack\"}},[_vm._v(\"2\")]),_vm._v(\")\")]),_c('figure',[_c('b-img',{staticClass:\"img-book\",attrs:{\"src\":require('@/assets/images/init_multipackages.png'),\"alt\":\"Initialization sequence of multiple packages[fig:Initialization-sequence-multi-pack]\",\"fluid\":\"\",\"thumbnail\":\"\"}}),_c('figcaption',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"Initialization sequence of multiple packages\"),_c('span',{attrs:{\"id\":\"fig:Initialization-sequence-multi-pack\",\"label\":\"fig:Initialization-sequence-multi-pack\"}},[_vm._v(\"[fig:Initialization-sequence-multi-pack]\")])])],1),_c('p',[_vm._v(\"This initialization sequence is following the dependencies of our main package. It begins with the package at the end of the dependency graph, which is the package \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"currency\")])]),_vm._v(\" (see figure \"),_c('a',{attrs:{\"href\":\"#fig:Dependency-graph-for-package-init\",\"data-reference-type\":\"ref\",\"data-reference\":\"fig:Dependency-graph-for-package-init\"}},[_vm._v(\"3\")]),_vm._v(\".\")]),_c('figure',[_c('b-img',{staticClass:\"img-book\",attrs:{\"src\":require('@/assets/images/packageDeps.png'),\"alt\":\"Dependency graph for the project.[fig:Dependency-graph-for-package-init]\",\"fluid\":\"\",\"thumbnail\":\"\"}}),_c('figcaption',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"Dependency graph for the project.\"),_c('span',{attrs:{\"id\":\"fig:Dependency-graph-for-package-init\",\"label\":\"fig:Dependency-graph-for-package-init\"}},[_vm._v(\"[fig:Dependency-graph-for-package-init]\")])])],1),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"can-we-define-several-init-functions\"}}),_c('h1',{attrs:{\"data-number\":\"6\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"6\")]),_vm._v(\" Can we define several init functions? \"),_c('a',{attrs:{\"href\":\"#can-we-define-several-init-functions\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"Absolutely! A package can define more than one init function. The runtime will launch init functions sequentially.\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"order-of-variables-initialization-advanced\"}}),_c('h1',{attrs:{\"data-number\":\"7\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"7\")]),_vm._v(\" Order of variables initialization (advanced) \"),_c('a',{attrs:{\"href\":\"#order-of-variables-initialization-advanced\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"Let’s see how to determine which variable will be initialized first. Here is a package with three variables and an init function :\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"// package-init/rules-illustration-advanced/invoice/invoice.go\\npackage invoice\\n\\nimport (\\n \\\"fmt\\\"\\n)\\n\\nvar c = func() string {\\n fmt.Println(\\\"variable c initialized\\\", b)\\n return \\\"value of c\\\"\\n}()\\n\\nvar a = func() string {\\n fmt.Println(\\\"variable a initialized\\\")\\n return \\\"value of a\\\"\\n}()\\n\\nvar b = func() string {\\n fmt.Println(\\\"variable b initialized\\\", a)\\n return \\\"value of b\\\"\\n}()\\n\\nfunc init() {\\n fmt.Println(\\\"invoice init\\\", c)\\n}\\n\\nfunc Print() {\\n fmt.Println(\\\"INVOICE Number X\\\")\\n}\")])]),_c('p',[_vm._v(\"And here is our main function :\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"// package-init/rules-illustration-advanced/main.go\\npackage main\\n\\nimport (\\n \\\"fmt\\\"\\n\\n \\\"maximilien-andile.com/packageInit/rules2/invoice\\\"\\n)\\n\\nfunc init() {\\n fmt.Println(\\\"main\\\")\\n}\\nfunc main() {\\n fmt.Println(\\\"--program start--\\\")\\n invoice.Print()\\n}\")])]),_c('p',[_vm._v(\"After compilation, we can run the program :\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"$ go build main.go\\n$ ./main\\nvariable first initialized\\nvariable second initialized value of first\\nvariable third initialized value of first\\ninvoice init value of third\\nmain\\n--program start--\\nINVOICE Number X\")])]),_c('p',[_vm._v(\"We note that the variables are initialized in the order :\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"a\")])]),_c('li',[_c('p',[_vm._v(\"b\")])]),_c('li',[_c('p',[_vm._v(\"c\")])])]),_c('p',[_vm._v(\"The first variable initialized does not depend on anything (except package fmt). It is the first to be initialized. Then the variable \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"b\")])]),_vm._v(\" (which depends on variable a) is initialized. When \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"b\")])]),_vm._v(\" is initialized, we can initialize \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"c\")])]),_vm._v(\".\")]),_c('p',[_vm._v(\"Variables are not initialized from top to bottom: here, \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"a\")])]),_vm._v(\" is initialized first, but it is put in the second position in the source file.\")]),_c('p',[_vm._v(\"When the runtime launches the initialization process for a package it will proceed by “cycle”. Each variable has an attribute “ready for initialization”. A variable is considered to be “ready” for initialization when :\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"It is not yet initialized\")])]),_c('li',[_c('p',[_vm._v(\"It has no initialization expression \"),_c('strong',[_vm._v(\"OR\")]),_vm._v(\" Its initialization expression has no dependencies on uninitialized variables.\")])])]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"During the first cycle, the runtime will select: the earliest variable in declaration order \"),_c('strong',[_vm._v(\"AND\")]),_vm._v(\" ready for initialization.\")])]),_c('li',[_c('p',[_vm._v(\"When the first cycle is completed, the second cycle is launched: Go will select the variable that is earliest in declaration order \"),_c('strong',[_vm._v(\"AND\")]),_vm._v(\" ready for initialization.\")])]),_c('li',[_c('p',[_vm._v(\"The third cycle will do the same.\")])]),_c('li',[_c('p',[_vm._v(\"The fourth will also do the same...\")])]),_c('li',[_c('p',[_vm._v(\"etc...\")])])]),_c('p',[_vm._v(\"This process ends when there is no more variable to initialize. You can vizualize on figure \"),_c('a',{attrs:{\"href\":\"#fig:Variable-initialization-algorith\",\"data-reference-type\":\"ref\",\"data-reference\":\"fig:Variable-initialization-algorith\"}},[_vm._v(\"4\")]),_vm._v(\" the algorithm used :\")]),_c('figure',[_c('b-img',{staticClass:\"img-book\",attrs:{\"src\":require('@/assets/images/var_initialization_cycle.png'),\"alt\":\"Variable initialization algorithm[fig:Variable-initialization-algorith]\",\"fluid\":\"\",\"thumbnail\":\"\"}}),_c('figcaption',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"Variable initialization algorithm\"),_c('span',{attrs:{\"id\":\"fig:Variable-initialization-algorith\",\"label\":\"fig:Variable-initialization-algorith\"}},[_vm._v(\"[fig:Variable-initialization-algorith]\")])])],1),_c('p',[_vm._v(\"As shown on figure \"),_c('a',{attrs:{\"href\":\"#fig:Variable-initialization-algorith\",\"data-reference-type\":\"ref\",\"data-reference\":\"fig:Variable-initialization-algorith\"}},[_vm._v(\"4\")]),_vm._v(\" some variables may still be uninitialized. In that case, the program is invalid.\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"test-yourself\"}}),_c('BuyCopyInvite'),_c('h1',{attrs:{\"data-number\":\"8\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"8\")]),_vm._v(\" Test yourself \"),_c('a',{attrs:{\"href\":\"#test-yourself\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"questions\"}}),_c('h2',{attrs:{\"data-number\":\"8.1\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"8.1\")]),_vm._v(\" Questions \"),_c('a',{attrs:{\"href\":\"#questions\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"What is the name of the function that will initialize a package? How many parameters this function have? How many results?\")])]),_c('li',[_c('p',[_vm._v(\"Initialization functions are mandatory in each package. True or False?\")])]),_c('li',[_c('p',[_vm._v(\"Is it possible to have four initialization functions in a package?\")])]),_c('li',[_c('p',[_vm._v(\"Initialization functions are called before variables initialization. True or False?\")])]),_c('li',[_c('p',[_vm._v(\"The runtime can run several initialization functions potentially at the same time. True or False?\")])]),_c('li',[_c('p',[_vm._v(\"If package A imports package B, which initialization functions are run first ?\")])])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"answers\"}}),_c('h2',{attrs:{\"data-number\":\"8.2\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"8.2\")]),_vm._v(\" Answers \"),_c('a',{attrs:{\"href\":\"#answers\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"What is the name of the function that will initialize a package? How many parameters this function have? How many results?\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"Here is an example (empty init function) :\")])]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"func init() {\\n}\")])]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"No results, no parameters!\")])])]),_c('li',[_c('p',[_vm._v(\"Initialization functions are mandatory in each package. True or False?\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"False\")])]),_c('li',[_c('p',[_vm._v(\"Init functions are optional\")])])])]),_c('li',[_c('p',[_vm._v(\"Is it possible to have four initialization functions in a package?\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"Yes\")])])]),_c('li',[_c('p',[_vm._v(\"Initialization functions are called before variables initialization. True or False?\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"False.\")])]),_c('li',[_c('p',[_vm._v(\"Init functions are called after variable initialization.\")])])])]),_c('li',[_c('p',[_vm._v(\"The runtime can run several initialization functions potentially at the same time. True or False?\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"False they are run sequentially (one after another)\")])])]),_c('li',[_c('p',[_vm._v(\"If package A imports package B, which initialization functions are run first ?\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"The runtime will run init functions from package B before those of package A\")])])])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"key-takeaways\"}}),_c('h1',{attrs:{\"data-number\":\"9\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"9\")]),_vm._v(\" Key takeaways \"),_c('a',{attrs:{\"href\":\"#key-takeaways\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('ul',[_c('li',[_c('p',[_vm._v(\"Initialization of packages takes place in \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"init\")])]),_vm._v(\" functions.\")])]),_c('li',[_c('p',[_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"init\")])]),_vm._v(\" functions are not mandatory.\")])]),_c('li',[_c('p',[_vm._v(\"A package can declare several \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"init\")])]),_vm._v(\" functions.\")])]),_c('li',[_c('p',[_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"init\")])]),_vm._v(\" functions are called after variable initialization.\")])]),_c('li',[_c('p',[_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"init\")])]),_vm._v(\" functions are run sequentially.\")])])]),_c('h1',[_vm._v(\"Bibliography\")]),_c('ChapterBibliography',{attrs:{\"chapter-id\":\"Chap12PackageInitialization\"}}),_c('b-row',{staticClass:\"ml-1 mr-1 \"},[_c('b-col',{staticClass:\"text-center border mr-1 p-2\"},[_c('router-link',{attrs:{\"to\":{name:'Chap11PackagesAndImports'}}},[_c('p',[_c('u',[_c('small',[_vm._v(\"Previous\")])])]),_c('p',[_c('small',[_vm._v(\"Packages and imports\")])])])],1),_c('b-col',{staticClass:\"text-center border p-1 \"},[_c('router-link',{attrs:{\"to\":{name:'Chap13Types'}}},[_c('p',[_c('u',[_c('small',[_vm._v(\"Next\")])])]),_c('p',[_c('small',[_vm._v(\"Types\")])])])],1)],1),_c('b-row',{staticClass:\"mt-1 ml-1 mr-1\"},[_c('b-col',{staticClass:\"text-center border p-1 \"},[_c('b-link',{attrs:{\"to\":{name:'Home'}}},[_vm._v(\"Table of contents\")])],1)],1),_c('FeedbackInvite'),_c('NewsletterInput'),_c('Footer')],1),_c('b-col')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Chap12PackageInitialization.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Chap12PackageInitialization.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Chap12PackageInitialization.vue?vue&type=template&id=671a4e93&scoped=true&\"\nimport script from \"./Chap12PackageInitialization.vue?vue&type=script&lang=js&\"\nexport * from \"./Chap12PackageInitialization.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"671a4e93\",\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/packageDeps.417221fb.png\";","module.exports = __webpack_public_path__ + \"img/init_multipackages.c1d9004c.png\";","module.exports = __webpack_public_path__ + \"img/init_example_program.25df7d2d.png\";","module.exports = __webpack_public_path__ + \"img/var_initialization_cycle.6b04cc90.png\";"],"sourceRoot":""}